Jep*_*sen 8 syntax matlab operators
如果我评估这个表达式:
3 + + 2
Run Code Online (Sandbox Code Playgroud)
或者也
3 + + + + + + 2
Run Code Online (Sandbox Code Playgroud)
我得到5了结果.
如果我也插入-运算符,我也会得到一个结果(1在这种情况下):
3 + - + - + - 2
Run Code Online (Sandbox Code Playgroud)
我认为运算符之间的空间可以被认为是零,但是如果我使用times运算符,我会得到一个错误:
3 * * 2 % Error: Unexpected MATLAB operator.
Run Code Online (Sandbox Code Playgroud)
发生了什么?这是什么语法的意义,为什么它一起工作+和-,但不*?
为什么这是有效的语法?
我正在使用Matlab R2014a.
Lui*_*ndo 12
+并且-可以是二元或一元运算符.* 只能是二进制的.
在你的代码,所有+和-符号后的第一次很可能被解析为一元运算符.所以3 + - 2被解释为3 + (-2)(+二元,-一元).同样,3 - + - 2被解释为3 - (+-2),即3 - (-2).
这不起作用,*因为它不能是一元运算符.