scipy.integrate.simpsを少し間違って使用している可能性があると思います。によって返される面積 は、 (渡された最初のパラメーター) のscipy.integrate.simps
下の合計面積です。y
2 番目のパラメーターはオプションで、x 軸のサンプル値 (各 y 値の実際の x 値) です。すなわち:
>>> import numpy as np
>>> import scipy
>>> a=np.array([1,1,1,1,1])
>>> scipy.integrate.simps(a)
4.0
>>> scipy.integrate.simps(a,np.array([0,10,20,30,40]))
40.0
異なる制限間で同じ曲線の下にある領域を返したいと思いますか? これを行うには、次のように、必要な曲線の部分を渡します。
>>> a=np.array([0,1,1,1,1,10,10,10,10,0])
>>> scipy.integrate.simps(a)
44.916666666666671
>>> scipy.integrate.simps(a[:5])
3.6666666666666665
>>> scipy.integrate.simps(a[5:])
36.666666666666664