2

我有一个关于 MATLAB 符号变量替换的问题,我觉得应该有一个优雅的解决方案,但我无法找出方法。

我想用一个符号变量代替方程式中的两个符号变量。我采用位置对时间的微分求速度,然后采用速度微分求加速度。现在,我想将类似的东西代vel=acc*t入速度方程中,以消除符号变量 t。

例如

vel_robot=S*acc*t;

我希望它显示出来;

vel_robot=S*vel

这是我正在处理的程序的一个简化问题。基本上我需要从我的答案中消除 t 。

有没有办法在 MATLAB 中做到这一点?我知道我可以用另一个符号变量替换一个符号变量,vel_robot = subs(vel_robot,acc,vel)但我想知道我是否可以用另一个符号变量替换两个符号变量,例如vel_robot = subs(vel_robot,acc*t,vel)- NB Subs 在这种情况下不起作用。

谢谢!

4

1 回答 1

3

一种方法是使用assumeand进行假设和简化simplify

syms S acc t vel
vel_robot=S*acc*t;
assume(vel == acc*t);
vel_robot = simplify(vel_robot)

返回

vel_robot =

S*vel

请注意,vel此处必须声明为符号变量。

于 2013-11-11T14:35:57.693 回答