一段时间以来,我一直在使用 np.trapz 对数组进行集成,并且到目前为止还没有遇到任何问题。我得到了一个面积明显小于 1 的分布,因为它的最大值为 0.16,分布的宽度大约为 6,但似乎返回分布下方的面积 > 60。
这是我的代码:
import numpy as np
import matplotlib.pyplot as plt
data = np.load('dist.npy')
thetavals=np.linspace(0,2*np.pi,1000)
plt.xlabel(r'$\theta$')
plt.ylabel(r'$P(\theta)$')
plt.plot(thetavals,data[0:1000])
plt.show()
integralvalue=np.trapz(data)
print('The integral of this distribution results in: ',integralvalue)