在这里我找到了一个使用integrate.cumtrapz()的例子,但它对我不起作用——当我尝试设置initial=0时
y_int = integrate.cumtrapz(y, x, initial=0)
我收到一个错误
TypeError: cumtrapz() got an unexpected keyword argument 'initial'
有什么问题?
你正在运行什么版本的 scipy?我有 scipy 0.10.1,关键字initial
也无法识别。此外,文档字符串也没有它,而 scipy 0.11 的源代码(您链接的)有它。这让我猜测它是在 v 0.11 中添加的。
确实:
>>> import scipy.integrate as si
>>> si.__file__
'/usr/local/lib/python2.6/dist-packages/scipy/integrate/__init__.pyc'
然后检查源(在 中quadrature.py
)---签名是
def cumtrapz(y, x=None, dx=1.0, axis=-1):
要检查 scipy 版本,请执行以下操作:
>>> scipy.__version__
'0.10.1'