怎样用python符号计算计算出雅科比矩阵?

import sympy
x,y,z,r,l,f=sympy.symbols("x y z r l f")
x=rsympy.cos(l)sympy.cos(f)
y=rsympy.cos(l)sympy.sin(f)
z=r*sympy.sin(l)
怎样求出来雅科比矩阵?
J =
[ cos(l)cos(f), -rsin(l)cos(f), -rcos(l)*sin(f)]
[ cos(l)sin(f), -rsin(l)sin(f), rcos(l)*cos(f)]
[ sin(l), r*cos(l), 0 ]

参考资料:
MATLAB中jacobian是用来计算Jacobi矩阵的函数。
syms r l f
x=rcos(l)cos(f);
y=rcos(l)sin(f);
z=r*sin(l);
J=jacobian([x;y;z],[r l f])

阅读 4.1k
1 个回答
funcs = sympy.Matrix([x, y, z])
args = sympy.Matrix([r, l, f])
res = funcs.jacobian(args)

输出

Matrix([
[cos(f)*cos(l), -r*sin(l)*cos(f), -r*sin(f)*cos(l)],
[sin(f)*cos(l), -r*sin(f)*sin(l),  r*cos(f)*cos(l)],
[       sin(l),         r*cos(l),                0]])
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题