加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Python: 用python做数值积分

(2012-05-11 10:52:46)
标签:

杂谈

分类: Python

python做定积分、离散点的数值积分

http://docs.scipy.org/doc/scipy/reference/tutorial/integrate.html

http://docs.scipy.org/doc/scipy/reference/integrate.html

http://hyry.dip.jp:8000/pydoc/scipy_intro.html

例如,

x=np.arange(1,101)/100.0

y=x**2

z=np.arange(100**2).reshape(100,100)*0.0

for I in xrange(100):

z[i] = (i+1)*np.arange(1,101)/100.0**2

一重积分

http://s16/middle/4df4d744tbfb9dca696df&690用python做数值积分" TITLE="Python: 用python做数值积分" />

 

 

1np.trapz(y,x) 结果为0.33334950000000008

2np.trapz(x**2,x)的结果为0.33334950000000008

3integrate.simps(y,x)的结果为0.33333316666666668

4integrate.simps(x**2,x)的结果为0.33333316666666668

二重积分

http://s5/middle/4df4d744t7992966c9254&690用python做数值积分" TITLE="Python: 用python做数值积分" />

 

 

1zx=np.arange(100)*0.0

for i in xrange(100):

zx[i]=(i+1)/100.0*integrate.simps(x,x)

integrate.simps(zx,x)的结果为0.24995000249999996

2integrate.simps(x*integrate.simps(x,x), x) 的结果为 0.24995000249999996

3integrate.simps(integrate.simps(z,x),x) 的结果为0.24995000249999999

4np.trapz(np.trapz(z,x),x) 的结果为 0.24995000249999999

一重定积分

 

integrate.quad(lambda x:x**2, 0, 1)

结果为 (0.33333333333333331, 3.7007434154171879e-15)

二重定积分

 

1integrate.dblquad(lambda x,y: x*y, 0, 1, lambda y:0, lambda y:1)

结果为 (0.25, 2.7755575615628914e-15)

2integrate.quad(lambda x:(integrate.quad(lambda y:x*y, 0,1)[0]), 0, 1)

结果为 (0.25, 2.7755575615628914e-15)

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有