1
我剛剛發現Sympy,所以我仍然不確定如何最好地使用它。 我有一個公式sympy 1.0中的矩陣條目總和python 3.5
與X一20×矩陣,Y一20X1矩陣/ VEKTOR和β一5X1矩陣/ VEKTOR
但是我知道的符號只允許我使用我的一個變量,而不是Matrix中的一個位置。代碼:
from sympy import exp, init_printing, sqrt, sin, tan, cos, diff, Sum, Matrix, log, symbols, MatrixSymbol
init_printing()
X = MatrixSymbol('X',20,5)
Y = MatrixSymbol('Y',20,1)
beta = MatrixSymbol('beta',5,1)
expr = Sum((Y[i]*exp((Matrix(X[i,:])*Matrix(beta))[0,0])),(i,1,20))
這將引發以下錯誤:
IndexError: Single index only supported for non-symbolic indices.
Google上搜尋它並沒有真正讓我至今,隨着谷歌似乎總是想談談numpy的,而不是sympy。 另外,我猜這是所有非常基本的,所以請請分享你的智慧;)
感謝您的快速回答。在我的例子中,它是一個總和的指數,因爲我將X的一行乘以矢量β。在我的論壇中,有一些[0,0]丟失,我修正了這個錯誤,這是我的原始代碼。 –
也感謝「pprint」命令。使它更容易發佈在未來:) –
另一個小問題,當我試圖評估表達式時發現:Sympy的lambdify似乎有問題與IndexedBase問題。你能推薦一種解決方法,或者一種替代lambdify的方法嗎? –