【发布时间】:2016-03-27 06:38:51
【问题描述】:
【问题讨论】:
-
您的意见是什么?函数还是点集?
-
这是数学的东西,只要整合函数。
-
请给出您目前拥有的(最少)代码。
-
我猜总和正好是 1,你的问题的答案是肯定的。
标签: python numpy matplotlib scipy
【问题讨论】:
标签: python numpy matplotlib scipy
如果您的分布 f 是在您知道的一组点 x 上离散化的,那么您可以直接使用 scipy.integrate.trapz 或 scipy.integrate.simps(将 f、x 传递为论据顺序)。为了快速检查(例如,您的分布是否标准化),只需将 f 的值相加并乘以网格间距:
import numpy as np
from scipy.integrate import trapz, simps
x, dx = np.linspace(-100, 250, 50, retstep=True)
mean, sigma = 90, 20
f = np.exp(-((x-mean)/sigma)**2/2) / sigma / np.sqrt(2 * np.pi)
print('{:18.16f}'.format(np.sum(f)*dx))
print('{:18.16f}'.format(trapz(f, x)))
print('{:18.16f}'.format(simps(f, x)))
输出:
1.0000000000000002
0.9999999999999992
1.0000000000000016
【讨论】: