scipy.integrate.quad在大范围内给出错误的结果

时间:2015-06-18 11:06:43

标签: python python-3.x scipy integration quad

我正在努力整合两个半年的总和。正态分布。当我尝试整合一个小范围时,<p> <label>Title 1</label> <span class="field"> <input type="text" name="field1" id="field2" class="width100" value="<?php echo $field1t; ?>" /> </span> </p> <p> <label>Title 2</label> <span class="field"> <input type="text" name="field2" id="field2" class="width100" value="<?php echo $field2t ?>" /> </span> </p> 工作正常,但当我为大范围进行整合时,返回0。这是代码:

scipy.integrate.quad

为什么会这样?

1 个答案:

答案 0 :(得分:3)

这里的原因是你的函数在积分区域的一个非常小的区域内非常强烈地达到峰值,并且在其他任何地方实际上都是零,points从未找到此峰值,因此只看到被积函数为零。 / p>

由于在这种情况下您知道峰的位置,因此分割积分的极限是合理的,这样您就可以分别考虑峰周围的区域。

要执行此操作,您可以使用quad参数以略微混淆的方式强制In [3]: integrate.quad(integral_fun, -100000, 100000, points=[-10,10]) Out[3]: (1.0000000000000002, 8.671029607900576e-10) 分别考虑峰值。

{{1}}