Python:辛普森法则,曲线下正面积是否定的答案?
Python: Simpson's rule, negative answer for positive area under the curve?
我有
y1=[ 9.49110000e-004 4.74145420e-004 1.41847155e-008 3.33228420e-028
3.76352289e-081 4.48206815e-193 0.00000000e+000 0.00000000e+000
0.00000000e+000 0.00000000e+000 0.00000000e+000]
x=[ 112. 111.97667396 111.90666665 111.78989038 111.62619837
111.41538384 111.15717866 110.85125168 110.49720654 110.09457901
109.64283388]
所有y
值都是正的,所以曲线下的面积应该是正的。但是当我尝试使用辛普森规则来积分时
from scipy.integrate import simps
b= simps(y1, x)
print b
我得到 -2.45630795891e-05
作为答案。我究竟做错了什么?
x
正在递减,因此您是从右向左积分。这会翻转结果的符号。
我有
y1=[ 9.49110000e-004 4.74145420e-004 1.41847155e-008 3.33228420e-028
3.76352289e-081 4.48206815e-193 0.00000000e+000 0.00000000e+000
0.00000000e+000 0.00000000e+000 0.00000000e+000]
x=[ 112. 111.97667396 111.90666665 111.78989038 111.62619837
111.41538384 111.15717866 110.85125168 110.49720654 110.09457901
109.64283388]
所有y
值都是正的,所以曲线下的面积应该是正的。但是当我尝试使用辛普森规则来积分时
from scipy.integrate import simps
b= simps(y1, x)
print b
我得到 -2.45630795891e-05
作为答案。我究竟做错了什么?
x
正在递减,因此您是从右向左积分。这会翻转结果的符号。