错误:第二个参数必须是一个变量或一个非负整数指定数量的变异。

106(30天)
我想象征性地获得欧拉方程,但我越来越“第二个参数必须是一个非负整数变量或指定数量的变异”错误。它发生的第一项方程(dL / dx_dot)。我不知道我做错了。任何帮助都是感激。谢谢。
信谊x (t)θ₁(t)θ(t) F (t) m0 m1 m2 I1 I2 L1 L2 g
T0 = 0.5 * m0 * diff (x (t), t) ^ 2;%的动能
T1 = 0.5 * 1 * ((diff (x (t), t) + 0.5 * L1 * diff(θ₁(t), t) * cos(θ₁(t))) ^ 2 + (L1 * diff(θ₁(t), t) * sin(θ₁(t))) ^ 2) + 0.5 * I1 * diff(θ₁(t), t) ^ 2;%的动能摆1
T2 = 0.5 *平方米* ((diff (x (t), t) + L1 * diff(θ₁(t), t) * cos(θ₁(t)) + 0.5 * L2 * diff(θ(t), t) * cos(θ(t))) ^ 2 + (L1 * diff(θ₁(t), t) * sin(θ₁(t)) + 0.5 * L2 * diff(θ(t), t) *罪(θ(t))) ^ 2) + 0.5 * I2 * diff(θ(t), t) ^ 2;%的动能摆2
T = T0 + T1 + T2;%总动能
情况= 0;%潜在能量的质量
L1 U1 = 0.5 m1 * g * * * cos(θ₁(t));%摆1的势能
U2 = m2 * g * (L1 * cos(θ(t)) + 0.5 * L2 * cos(θ(t)));%摆2的势能
U =情况+ U1 + U2;%的总势能
L =你不;%的拉格朗日体系
diff dL_dx_dot = diff (L (x (t), t));
dL_dx = diff (L, x);
diff (dL_dx_dot, t) - dL_dx = = F (t)
3评论

登录置评。

接受的答案

沃尔特·罗伯森
沃尔特·罗伯森 2020年10月19日
它不可能区分对一个函数。
你必须做一个替换 希望 系统仍然是有效的。
信谊Dx;
dL_dx_dot =潜艇(diff(潜艇(L, diff (x (t) t), Dx), Dx), Dx, diff (x (t) t))
这是 保证有效的一般!在过去我已发布系统,这种操作是无效的。它取决于其他方程独立函数的导数是,这并非总是如此。
情况 排序 像做一个替代假设你不是除以零——替换 经常 工作,但在某些情况下,意外地介绍废话答案当你做这样一个替换。

更多的答案(0)

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!