python-如何找到曲线下的区域?

2024-09-24 06:31:00 发布

您现在位置:Python中文网/ 问答频道 /正文

是否可以计算拟合分布曲线的曲线下面积?

曲线应该是这样的

enter image description here

我在网上看到一些关于trapz使用的帖子,但我不确定它是否适用于这样的曲线。请启发我,谢谢你的帮助!


Tags: 曲线帖子面积trapz
2条回答

如果您的分布f是在您所知道的一组点x上离散的,那么您可以直接使用scipy.integrate.trapzscipy.integrate.simps(按该顺序传递fx作为参数)。为了快速检查(例如,您的分布是标准化的),只需对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

首先,你必须从图中找到一个函数。你可以检查here。然后您可以在python中使用scipy集成。您可以检查here进行集成。 这只是丹尼尔·桑切斯说的数学问题。

相关问题 更多 >