【发布时间】:2017-07-05 08:32:30
【问题描述】:
我想在三角形上对函数进行数值积分,类似于
import scipy.integrate as integrate
inside = lambda x: integrate.quad(lambda x,y: 1, 0, x, args=(x))[0]
outside = integrate.quad(inside, 0, 1)[0]
print(outside)
0.5
但使用scipy.integrate.fixed_quad 函数(它具有集成顺序n 作为参数)。但是,当我写
inside = lambda x: integrate.fixed_quad(lambda x,y: 1, 0, x, args=(x), n=5)
print(inside(5))
Traceback(最近一次调用最后一次):文件“”,第 1 行,in 文件“”,第 1 行,在文件中 "/Users/用户名/anaconda/lib/python3.5/site-packages/scipy/integrate/ quadrature.py”,第 82 行,在 fixed_quad 中 return (b-a)/2.0 * np.sum(w*func(y, *args), axis=0), None
TypeError: () 参数后 * 必须是可迭代的,而不是 int
我不知道自己做错了什么,因为我正在关注scipy.integrate.fixed_quad 上的文档。
【问题讨论】:
标签: python scipy numerical-integration