Skip to content

踩坑Robotics Stack Exchange2020-12-09

Matlab 求雅可比导数报 convertChar 错误 ​

本文由 AI 根据公开内容整理,可能有误,请以原文为准:How do I compute the derivative of the Jacobian with Matlab?(Robotics Stack Exchange #20672)

状态:已解决

问题 ​

提问者用 Matlab 对含 q1(t)、q2(t)、q3(t) 的雅可比元素求时间导数,执行时出现 Error using sym>convertChar,提示字符串表达式应使用 str2sym。

环境 ​

Linux / ROS 机器人软件与控制通用开发环境

解决办法 ​

  1. 在符号声明中加入参数:syms q1 q2 q3 t a3 a2。
  2. 将 sym('q1(t)')、sym('q2(t)')、sym('q3(t)') 改为 str2sym('q1(t)')、str2sym('q2(t)')、str2sym('q3(t)')。
  3. 继续用 J11 = -sin(q1(t))*(a3*cos(q2(t) + q3(t)) + a2*cos(q2(t))) 定义元素,并用 dJ11dt = diff(J11,t) 求导。

原问题作者:J.D.;采纳答案作者:Spaceman。原内容依 CC BY-SA 4.0 授权,本页摘要同样依 CC BY-SA 4.0 授权。

来源

本页事实对应的公开页面,以原文为准。

  1. Robotics Stack Exchange #20672:How do I compute the derivative of the Jacobian with Matlab?访问 2026-10-22