Die Verknüpfung von binären Operatoren wie "3 + + 2" in Matlab gibt keine Fehler

8

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):

%Vor%

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.

    
Jepessen 08.01.2018, 12:47
quelle

1 Antwort

12

+ 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.

    
Luis Mendo 08.01.2018, 12:51
quelle

Tags und Links