Wenn ich diesen Ausdruck auswerte:
%Vor%oder auch
%Vor% Ich erhalte 5
als Ergebnis.
Wenn ich auch den Operator -
einfüge, erhalte ich auch ein Ergebnis ( 1
in diesem Fall):
Ich dachte, dass der Abstand zwischen den Operatoren als Null betrachtet werden kann, aber wenn ich den Operator "times" verwende, erhalte ich stattdessen einen Fehler:
%Vor% Was passiert? Was bedeutet diese Syntax und warum funktioniert sie mit +
und -
, aber nicht mit *
?
Warum ist dies eine gültige Syntax?
Ich benutze Matlab R2014a.
+
und -
können binäre oder unäre Operatoren sein. *
Kann nur binär sein.
In Ihrem Code werden alle Symbole +
und -
nach dem ersten wahrscheinlich als unäre Operatoren analysiert. So wird 3 + - 2
als 3 + (-2)
interpretiert (die +
ist binär, -
ist unär). In ähnlicher Weise wird 3 - + - 2
als 3 - (+-2)
interpretiert, dh 3 - (-2)
.
Das funktioniert nicht mit *
, weil es kein unärer Operator sein kann.