我想數值超過一個三角形類似整合的功能可以scipy.integrate.fixed_quad與功能邊界計算積分?
import scipy.integrate as integrate
inside = lambda x: integrate.quad(lambda x,y: 1, 0, x, args=(x))[0]
outside = integrate.quad(inside, 0, 1)[0]
print(outside)
0.5
但使用scipy.integrate.fixed_quad
函數(其具有整合順序n
作爲參數)。然而,當我寫
inside = lambda x: integrate.fixed_quad(lambda x,y: 1, 0, x, args=(x), n=5)
print(inside(5))
Traceback (most recent call last): File "", line 1, in File "", line 1, in File "/Users/username/anaconda/lib/python3.5/site-packages/scipy/integrate/ quadrature.py", line 82, in fixed_quad return (b-a)/2.0 * np.sum(w*func(y, *args), axis=0), None
TypeError:() argument after * must be an iterable, not int
我不知道我在做什麼錯了,因爲我在scipy.integrate.fixed_quad下面的文檔。
有趣的,沒有想到,因爲它爲integration.quad沒有逗號工作。然而,執行'outside = integrate.fixed_quad(inside,0,1,n = 5)[0]'會產生另一個ValueError,所以我仍然無法計算double積分。它雖然適用於'integrate.quad(inside,0,1)',但我寧願在兩個積分中都有n(高斯積分積分階)參數。 – Jan
@Jan:我用信息編輯了我的帖子,爲什麼當'quad'被調用時它不會崩潰。 – Cleb