例如,我将变量x(t)、xdot(t)命名为关于时间的变量:syms t x(t) xdot(t);
,x对时间的导数是xdot,xdot=diff(x,t)
,但是我计算diff(x,t)的时候,结果不是xdot,如何设置计算结果中diff(x,t)的显示为xdot,另外计算结果中的时间变量显示为variable(t)
,如何设置结果只显示variable
?
syms t x(t) xdot(t);
xdot=diff(x,t);
y=diff(x,t);
y
y
结果显示为
,但是我希望它显示为xdot
1条答案
按热度按时间9jyewag01#
请看下面的代码:
在我看来,你希望显示
b = a
,而不是b = 3
,这不是MATLAB的工作方式,a
和b
都等于3
,但这并不意味着a
就是b
。代码也是如此:
这给出了
b = 3
,而不是b = a
。我不会详细讨论 * 为什么 * 会这样(以及为什么在MATLAB中必须这样)。知道它是如何工作的就足够了。您将
diff(x,t)
赋给了两个 * 不同的 * 变量xdot
和y
,这意味着,虽然xdot
和y
具有相同的值,但xdot
* 不是 *y
。如果你在代码之后做
xdot = 3
,那么y
仍然是dx/dt。旁注:为什么要这样做?你确定有必要吗?你可以随时打印结果:
丑陋的变通方法去做一些我不明白你为什么要做的事情:
创建函数:
然后将
y
定义为函数句柄:现在
y(t)
仍然会给予dx/dt
,但是y
会给出xdot
我强烈建议你不要这么做。