我正在尝试使用符号工具箱在Matlab中派生Lagrangian equations of motion。这涉及函数和坐标的偏导数,但matlab似乎不接受这一点。
所以我会在Matlab中这样做:
syms t x(t) % t: time, x(t) position dependent on time
m = sym('m'); % mass, a constant parameter
T = m/2*diff(x,t)^2; % kinetic energy
dTdx = diff(T,x);
ddTdxDotdt = diff( diff(T,diff(x,t)), t);
但是当我尝试区分x(或diff(x,t))中的任何内容时,Matlab会抱怨:
Error using mupadmex
Error in MuPAD command: The variable is invalid. [stdlib::diff]
Error in sym/diff (line 44)
R = mupadmex('symobj::diff', S.s, x.s, int2str(n));
有谁知道处理此问题的正确方法?