Matrix 矩阵导数不';我得不到评价

Matrix 矩阵导数不';我得不到评价,matrix,sympy,Matrix,Sympy,我试图计算最一般的3D旋转矩阵的偏导数,如下所示: φ,psi,θ=符号(“φ,psi,θ”) RMatrixPhi=共形矩阵([[cos(phi),sin(phi),0], [-sin(phi),cos(phi),0], [0, 0, 1]]) RMatrixPsi=共形矩阵([[cos(psi),0,sin(psi)], [0, 1, 0 ], [-sin(psi),0,cos(psi)]) RMatrixTheta=共形矩阵([[1

我试图计算最一般的3D旋转矩阵的偏导数,如下所示:

φ,psi,θ=符号(“φ,psi,θ”)
RMatrixPhi=共形矩阵([[cos(phi),sin(phi),0],
[-sin(phi),cos(phi),0],
[0,          0,       1]])
RMatrixPsi=共形矩阵([[cos(psi),0,sin(psi)],
[0,         1,   0     ],
[-sin(psi),0,cos(psi)])
RMatrixTheta=共形矩阵([[1,0,0],
[0,cos(θ),sin(θ)],
[0,-sin(θ),cos(θ)])
RMatrix=RMatrixPhi*RMatrixPsi*RMatrixTheta
D=差值(r矩阵,φ)
但是,
D
然后是一个
同向导数
对象,我无法对它求值, 它只是打印为
导数(矩阵(…)

我唯一能让它工作的方法就是写作

sympy.Matrix([sympy.diff(r, phi) for r in RMatrix]).reshape(3,3)
但这看起来很难看。计算此类导数的正确方法是什么?

矩阵类有一个名为
diff
的方法,根据文档

文档字符串: 计算矩阵中每个元素的导数

所以使用

RMatrix.diff(phi)
执行元素级派生