【发布时间】:2020-02-07 09:41:20
【问题描述】:
你好,
我已经定义了多个带有时间相关角的 sympy 矩阵。
import sympy as sym
R1xI = sym.Matrix([ [1,0,0],
[0,sym.cos(sym.Function('phiSA')(t)),-sym.sin(sym.Function('phiSA')(t))],
[0,sym.sin(sym.Function('phiSA')(t)),sym.cos(sym.Function('phiSA')(t))]]);
R1yI = sym.Matrix([ [sym.cos(sym.Function('phiSE')(t)),0,sym.sin(sym.Function('phiSE')(t))],
[0,1,0],
[-sym.sin(sym.Function('phiSE')(t)),0,sym.cos(sym.Function('phiSE')(t))]]);
R1zI = sym.Matrix([ [sym.cos(sym.Function('phiSR')(t)),-sym.sin(sym.Function('phiSR')(t)),0],
[sym.sin(sym.Function('phiSR')(t)),sym.cos(sym.Function('phiSR')(t)),0],
[0,0,1]]);
# Combine the 3 rotations
R1I=np.asmatrix(np.dot(np.dot(R1xI,R1yI),R1zI));
我使用 sympy 是因为这个矩阵有多个计算步骤,我想以代数方式执行(乘法、时间推导,因此角度必须取决于时间)。
现在我已经完成了代数计算,想为这个角度插入实数值。
有没有一种可能的方法来插入它们,或者有没有比使用 sym.Function 更好的方法来根据变量执行推导?
感谢您的建议
【问题讨论】:
-
我已从 sym.Function 更改为 sympy.physics.mechanics 的 dynamicsymbols 但仍然无法插入值
标签: python-3.x matrix sympy derivative