想象一下,我在MuPad Notebook中定义了两个变量:
x:=2;
y:=5
对于产品
z=x*y
我得到了显示:
如果我使用hold
,我可以得到表达式:
z=hold(x*y)
但现在我想要同时显示表达式和结果。对我来说合乎逻辑的两个选项,不要担心:
z=hold(x*y);z
和
z=hold(x*y);eval(z);
如何显示表达式和结果? 如果在两行中它会没问题,但我喜欢在一行中喜欢:
z = x y = 10
答案 0 :(得分:2)
我尝试了与print
,expr2text
,hold
和_concat
的某些组合,但无法找到令人信服的解决方案来获得所需的结果。但有一个解释为什么第二行只返回z
而不是10
。
z
是第二行中的结果,因为您尚未向z
分配内容。结果表明z
是z
。在MuPad =
是表达式的一部分。赋值运算符为:=
,因此与Matlab中的不同。它们之间的唯一区别是结肠。
编写等式
为了编写等式,我们使用=
作为表达式的一部分。有一个等价函数:_equal
。因此以下两行产生相同的结果:
x+y = 2
_equal(x+y, 2)
将value
分配给x
对于作业,我们使用:=
(在Matlab中,这只是=
)。有一个等价函数:_assign
。同样,以下两行产生相同的结果:
x := value
_assign(x, value)
将等式x+y = 2
指定给eqn
在这里,我们可以清楚地看到差异:
eqn := x+y = 2
_assign(eqn, _equal(x+y, 2))