我想做類似於this question的操作。集成一個返回矩陣numpy的函數
Nm, Mm = np.meshgrid(range(3), range(2))
y = lambda x: x*Nm + x*Mm
然後,y
返回3x2矩陣。我想將y從a整合到b,例如我們可以選擇a = 0和b = 1。這意味着積分矩陣的i,j分量應該是(x * i + x * j)dx的0到1的整數。如果我考慮到其中一個答案:
>>> a = [sin, cos]
>>> vectorize(quad)(a, 0, pi)
顯然a
是功能列表,但是我有什麼是返回一個數組,這是不同的函數。我得到:
res = np.vectorize(integrate.quad)(y, 0, 1)
error: Supplied function does not return a valid float.
我該如何解決這個問題?感謝您的幫助
編輯:
期望的結果是
res = np.empty((3,2))
for i in range(3):
for j in range(2):
res[i, j] = quad(lambda x: x*i + x*j, 0, 1)[0]
因此,所期望的結果與'quad'有6次不同的'i'和'j'值嗎?參考向我們展示如何用顯式循環來做到這一點。 – hpaulj
是@hpaulj這是所需的結果。 –