python - Python 中的系数矩阵 - 组元素

标签 python matrix sympy coefficients

我已经使用 Sympy 在 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)]])

我现在需要找到一个像这样的表达式:

[coefficient matrix]*(unknowns vectors)

我的(未知向量)在哪里:

Matrix([[X],[THETA]]).

我尝试从 Sympy 中使用解决、简化和收集,但没有成功(我只能得到错误或 [] 返回)。

最佳答案

采取Jacobian :

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)      ⎦

顺便说一句,如果您使用 thetaTheta (并非全部大写),SymPy 会将其打印为实际的希腊字母 theta:

In [24]: symbols('theta')
Out[24]: θ

关于python - Python 中的系数矩阵 - 组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24419911/

相关文章:

python - 在 Django 中,如何使用请求来确定其 URLconf View 名称?

c - 仅包含 "* "和 "SPACE "的输入随机矩阵

python - 保留 sympy 方程中符号的顺序

sympy - 使用 SymPy 执行 Hadamard 产品

python - SymPy 中 eye 和 Identity 的区别

python - 在循环python中更改数据框列中的值

python - 将文本添加到python中的图例

python - 如何在Python中比较两个不同结构的Excel

python - 3d 数组到矩阵乘法

java - 在java中手动为opengl创建 View (lookat)矩阵