| K. Taubert, W. Wiedl: Programmieren mit MATLAB | |
| UHH Reg. Rechenzentrum W. Wiedl Skripte Matlab | Suche - Hilfe |
Es gibt die logischen Operatoren:
» a= 0 & 1
a =
0
» b=a|1
b =
1
» c = ~b
c =
0
Eine Funktion mit zwei logischen Argumenten und einem logischen Funktionswert ist:
» d=xor(b,c)
d =
1
Es gibt sechs Vergleichsoperatoren, die zwei arithmetische Werte vergleichen und einen logischen Wert als Ergebnis liefern:
Entsprechende Vergleichsfunktionen mit einem arithmetischen Argument sind:
help ops
Bemerkung: Die logischen Operatoren sind in Matlab eigentlich auch nur Vergleichsausdrücke, wobei immer verglichen wird, ob die Operanden den Wert 0 haben oder nicht. a&b hat den Wert 1, wenn a und b ungleich 0 sind, a|b hat den Wert 1, wenn a oder b ungleich 0 ist. Man kann also auch Ausdrücke wie die folgenden bilden:
» a=2&1
a =
1
» a=Inf|1
a =
1
» a=Inf&1
a =
1
» a=NaN&0
a =
0
» a=NaN|0
a =
1
Ein besonderes Problem bei der Auswertung von logischen Ausdrücken
tritt in Matlab dadurch auf, daß die logischen Werte auch Zahlen
sind und daß Matlab klaglos bei logischen Operationen auch Zahlen
als Operanden akzeptiert, die von 0 und 1 verschieden sind.
Ob im Einzelfall ein logischer oder arithmetischer Ausdruck vorliegt,
hängt in Matlab daher von der Reihenfolge der Operationen ab.
» 0|1+1|0
ans =
1
» (0|1)+(1|0)
ans =
2