【问题标题】:Calculate area between two curves (that are normal distributions)计算两条曲线之间的面积(即正态分布)
【发布时间】:2013-02-27 23:02:25
【问题描述】:

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

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

matplotlibscipy 或其他模块中是否已经有一个函数可以为我做这件事? 如果我必须自己实现它,我认为我应该这样做:

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

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

【问题讨论】:

    标签: python matplotlib scipy numeric


    【解决方案1】:

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

    【讨论】:

    • 这完全有道理。我想我只是想复杂一点。
    • quad() 通常需要 3 个参数。尝试 np.trapz(Y),例如其中 Y=min(f, g) 是单个浮点数组,f 和 g 是有序的且长度相同。
    猜你喜欢
    • 2017-10-12
    • 2018-02-11
    • 2019-08-15
    • 2014-06-21
    • 2017-02-26
    • 2019-02-07
    相关资源
    最近更新 更多