Python 计算两条曲线之间的面积(正态分布)

Python 计算两条曲线之间的面积(正态分布),python,matplotlib,scipy,numeric,Python,Matplotlib,Scipy,Numeric,我需要计算两条曲线之间的面积。 我有很多数据,所以我想用编程的方式来做 基本上,我总是有两个正态分布,根据平均值和标准偏差计算。然后我想计算它们相交的程度。 这里是我的意思的一个例子,还有R中的一些代码(我不知道) matplotlib或scipy或其他模块中是否已经有一个函数为我执行此操作? 如果我必须亲自实施,我认为我应该: 找到交叉点(最多2个) 查看相交前、[中间]和相交后哪个函数较低 计算下函数的积分并将它们相加 是这样吗?我怎样才能完成单个步骤?是否有功能、模块等可以提供帮助?我

我需要计算两条曲线之间的面积。 我有很多数据,所以我想用编程的方式来做

基本上,我总是有两个正态分布,根据平均值和标准偏差计算。然后我想计算它们相交的程度。 这里是我的意思的一个例子,还有R中的一些代码(我不知道)

matplotlib
scipy
或其他模块中是否已经有一个函数为我执行此操作? 如果我必须亲自实施,我认为我应该:

  • 找到交叉点(最多2个)
  • 查看相交前、[中间]和相交后哪个函数较低
  • 计算下函数的积分并将它们相加

是这样吗?我怎样才能完成单个步骤?是否有功能、模块等可以提供帮助?

我也不知道R,但答案似乎在您提供的链接中:只需集成最少的发行版。
您不需要找到交点,只需将
min(f(x),g(x))
馈送到
scipy.integrate.quad

,这完全有意义。我想我只是在想复杂的方法。quad()通常需要3个参数。尝试np.trapz(Y),例如,其中Y=min(f,g)是单个浮点数数组,f和g是有序的,长度相同。