【发布时间】:2015-07-08 14:38:18
【问题描述】:
我想对给定的一组样本进行数值积分。
假设我有 x 不均匀间隔的区域,y = f(x) 是我想要集成的功能。
x y=f(x)
0.1 10.5
1.2 2.0
3.7 11.0
7.0 4.0
现在我可以这样使用Simpon's rule from scipy.integrate 吗?
from scipy.integrate import simps
I = simps(y,x)
即使我的 x 值间隔不均匀?
【问题讨论】:
-
我认为您只是将
y和x参数颠倒了,它应该是simps(y, x),否则它应该可以工作。不是吗? -
@tom10: 抱歉,打错了!是这样的吗?
-
Tom 上面所说的,y 应该在 x 之前。但是使用辛普森规则,你必须有均匀的间隔才能让它起作用,而且它们必须均匀分布。因为它使用抛物线计算积分。
-
@SeanStinehour:对于不均匀的间隔,我应该使用哪种方法?
-
你可以做的是使用梯形规则的变体(我不知道 Python 是否有它)
AT = ½ (y0 + y1)Δx1 + ½ (y1 + y2)Δx2 + ...... + ½ (yn -1 + yn)Δxn。例如,½ (10.5 + 2.0)1.1 +...
标签: python scipy numerical-integration simpsons-rule