TypeError:使用trapz方法时,只有size-1数组才能转换为Python标量



这是我的python代码

import numpy as np
from scipy.integrate import quad, trapz, simps
import math
def f(x):
return math.exp(-(x**2/2))/math.sqrt(2*math.pi)
result, error = quad(f, 0, np.inf)
print("{:f} {:g}".format(result, error))
x = np.arange(0, 99999, 0.001)
fun = f(x)
res1 = trapz(fun, x)
print(res1)

我得到这个错误:

... line 6, in f
return math.exp(-(x**2/2))/math.sqrt(2*math.pi)
TypeError: only size-1 arrays can be converted to Python scalars

为什么会这样?使用quad方法进行集成效果良好,但与trapz方法不一样

正如用户所评论的,您只能使用具有标量值的数学函数,对于数组,您必须使用NumPy库中提供的数学函数。

相关内容

  • 没有找到相关文章

最新更新