2 回答

TA貢獻1111條經驗 獲得超0個贊
您正在混合numpy和sympy,并且會出現問題:
您的sympy導入定義i為一個符號(這對numpy用戶來說并不明顯):
In [1]: from sympy.abc import *
In [2]: i
Out[2]: i
然后你定義一個numpy數組。(import numpy as np優于*):
In [3]: M=np.zeros((3,3))
嘗試將其i用作索引會引發您的錯誤:
In [4]: M[1,i]
------------------------------------------------------------------
IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices
符號可以在sympy矩陣中工作,但在索引 numpy 數組時不起作用。
Ms = sy.zeros(3,3) # sympy matrix
for m in range(1,3):
for n in range(3):
Ms[m,n] = (sy.Sum(Ms[m-1,i],(i,0,n+1)))/(n+1)
這運行,雖然結果Ms沒有多大意義。
所以問題的根源是你混合了 numpy 和 sympy,可能是因為無知,也可能是因為*進口。
添加回答
舉報