Python-Group元素中的系数矩阵
我使用Symphy在Python中获得了此矩阵:Python-Group元素中的系数矩阵,python,matrix,sympy,coefficients,Python,Matrix,Sympy,Coefficients,我使用Symphy在Python中获得了此矩阵: > Matrix([[-THETA*l*m2*omega**2*cos(omega*t) + X*k*cos(omega*t) - > X*omega**2*(m1 + m2)*cos(omega*t)], [THETA*g*cos(omega*t) - > THETA*l*omega**2*cos(omega*t) - X*omega**2*cos(omega*t)]]) 我现在需要找到一个表达式,如: [coefficie
> Matrix([[-THETA*l*m2*omega**2*cos(omega*t) + X*k*cos(omega*t) -
> X*omega**2*(m1 + m2)*cos(omega*t)], [THETA*g*cos(omega*t) -
> THETA*l*omega**2*cos(omega*t) - X*omega**2*cos(omega*t)]])
我现在需要找到一个表达式,如:
[coefficient matrix]*(unknowns vectors)
其中my(未知向量)为:
我尝试从Symphy使用solve、simplify和collect,但没有成功(我只能得到错误或[]返回)。
顺便说一下,如果您使用θ
或θ
(并非全部大写),Symphy会将其打印为实际的希腊字母θ:
In [24]: symbols('theta')
Out[24]: θ
In [16]: a.jacobian(Matrix([X, THETA]))
Out[16]:
⎡ 2 2 ⎤
⎢k⋅cos(ω⋅t) - ω ⋅(m₁ + m₂)⋅cos(ω⋅t) -l⋅m₂⋅ω ⋅cos(ω⋅t) ⎥
⎢ ⎥
⎢ 2 2 ⎥
⎣ -ω ⋅cos(ω⋅t) g⋅cos(ω⋅t) - l⋅ω ⋅cos(ω⋅t)⎦
In [17]: a.jacobian(Matrix([X, THETA]))*Matrix([X, THETA])
Out[17]:
⎡ 2 ⎛ 2 ⎞⎤
⎢- THETA⋅l⋅m₂⋅ω ⋅cos(ω⋅t) + X⋅⎝k⋅cos(ω⋅t) - ω ⋅(m₁ + m₂)⋅cos(ω⋅t)⎠⎥
⎢ ⎥
⎢ ⎛ 2 ⎞ 2 ⎥
⎣ THETA⋅⎝g⋅cos(ω⋅t) - l⋅ω ⋅cos(ω⋅t)⎠ - X⋅ω ⋅cos(ω⋅t) ⎦
In [22]: a
Out[22]:
⎡ 2 2 ⎤
⎢- THETA⋅l⋅m₂⋅ω ⋅cos(ω⋅t) + X⋅k⋅cos(ω⋅t) - X⋅ω ⋅(m₁ + m₂)⋅cos(ω⋅t)⎥
⎢ ⎥
⎢ 2 2 ⎥
⎣ THETA⋅g⋅cos(ω⋅t) - THETA⋅l⋅ω ⋅cos(ω⋅t) - X⋅ω ⋅cos(ω⋅t) ⎦
In [24]: symbols('theta')
Out[24]: θ