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的方法吗? –