2024-09-24 06:31:00 发布
网友
是否可以计算拟合分布曲线的曲线下面积?
曲线应该是这样的
我在网上看到一些关于trapz使用的帖子,但我不确定它是否适用于这样的曲线。请启发我,谢谢你的帮助!
如果您的分布f是在您所知道的一组点x上离散的,那么您可以直接使用scipy.integrate.trapz或scipy.integrate.simps(按该顺序传递f,x作为参数)。为了快速检查(例如,您的分布是标准化的),只需对f的值求和并乘以网格间距:
f
x
scipy.integrate.trapz
scipy.integrate.simps
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
首先,你必须从图中找到一个函数。你可以检查here。然后您可以在python中使用scipy集成。您可以检查here进行集成。 这只是丹尼尔·桑切斯说的数学问题。
如果您的分布
f
是在您所知道的一组点x
上离散的,那么您可以直接使用scipy.integrate.trapz
或scipy.integrate.simps
(按该顺序传递f
,x
作为参数)。为了快速检查(例如,您的分布是标准化的),只需对f
的值求和并乘以网格间距:输出:
首先,你必须从图中找到一个函数。你可以检查here。然后您可以在python中使用scipy集成。您可以检查here进行集成。 这只是丹尼尔·桑切斯说的数学问题。
相关问题 更多 >
编程相关推荐