Matrix 矩阵导数不';我得不到评价
我试图计算最一般的3D旋转矩阵的偏导数,如下所示: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
φ,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)
执行元素级派生