0

为什么这是一个有效的 MATLAB 查询?

3++4

评估为7。更令人不安的是:

3+-5

评估为-2

鉴于以下情况,我预计

3+*5

评估为 15。相反,它会引发错误。

与thewaywewalk 对我上一个问题的回答相关的可能解决方法为什么单元格数组中的尾随逗号有效Matlab 语法?

4

2 回答 2

4

+并且-不仅是二元运算符,它们也是一元运算符。

文档:

http://de.mathworks.com/help/matlab/ref/uplus.html http://de.mathworks.com/help/matlab/ref/uminus.html

由于这个原因,前两行被评估为3+(+4)and3+(-5)但最后一行失败,因为不存在一元乘法。

于 2016-01-23T03:42:03.660 回答
2

因为 Matlab 的运算符优先级一元加号置于二元加号之上。

所以,

3++4

被解析为

plus(3,uplus(4))
于 2016-01-23T03:43:10.400 回答