在MuPad

时间:2015-07-24 09:45:53

标签: matlab mupad

想象一下,我在MuPad Notebook中定义了两个变量:

x:=2;
y:=5

对于产品

z=x*y

我得到了显示:

enter image description here

如果我使用hold,我可以得到表达式:

z=hold(x*y)

enter image description here

但现在我想要同时显示表达式和结果。对我来说合乎逻辑的两个选项,不要担心:

z=hold(x*y);z

z=hold(x*y);eval(z);

enter image description here

如何显示表达式和结果? 如果在两行中它会没问题,但我喜欢在一行中喜欢:

z = x y = 10

1 个答案:

答案 0 :(得分:2)

我尝试了与printexpr2texthold_concat的某些组合,但无法找到令人信服的解决方案来获得所需的结果。但有一个解释为什么第二行只返回z而不是10

分配与等式

z是第二行中的结果,因为您尚未向z分配内容。结果表明zz。在MuPad =是表达式的一部分。赋值运算符为:=,因此与Matlab中的不同。它们之间的唯一区别是结肠。

编写等式

为了编写等式,我们使用=作为表达式的一部分。有一个等价函数:_equal。因此以下两行产生相同的结果:

x+y = 2
_equal(x+y, 2)

result1

value分配给x

对于作业,我们使用:=(在Matlab中,这只是=)。有一个等价函数:_assign。同样,以下两行产生相同的结果:

x := value
_assign(x, value)

result2

将等式x+y = 2指定给eqn

在这里,我们可以清楚地看到差异:

eqn := x+y = 2
_assign(eqn, _equal(x+y, 2))

result3