MATLAB Control Statements
Übersicht Bedingungsanweisungen (IF und CASE) Schleifen (FOR und WHILE) Fragen
IF-Anweisung Grundstruktur wie bei Java/C if Bedingung 1 Bedingter Anweisungsblock 1 elseif Bedingung 2 Bedingter Anweisungsblock 2 else alternativer Anweisungsblock end
IF-Anweisung Bedingungen: 0 (auch 0i) und [ ] sind falsch NaN (not a number) ist nicht zugelassen Andere numerische Werte (auch komplexe) und inf (infinity) sind wahr Verknüpfungen durch logische Operatoren sind möglich: ~ Logisches nicht & Logisches und | Logisches oder xor Exklusives oder
IF-Anweisung Beispiele: >>if [ ], wird_nie_ausgeführt(); end wird_immer_ausgeführt(); >>a = 1.5; >>b = 3; >>if (a <= 2) && (b ~= 4), wird_ausgeführt(); end
CASE-Anweisungen switch switch-Ausdruck case case-Ausdruck Befehle … otherwise end
CASE-Anweisungen Switch/Case-Ausdruck: Skalar (Matrizen aus komplexen Fließkommazahlen) Zeichenkette
CASE-Anweisungen Beispiel: >> switch zensurbewertung case {1,2} disp ‘sehr schön‘, case {3,4} disp ‘ok‘, case {5,6} disp ‘nicht so toll‘, otherwise disp ‘Eingabefehler!‘, end
FOR-Schleifen for v = Ausdruck (Matrix, Vektor) Anweisungen end In jedem Schleifendurchlauf wird der Variablen (Spalte) v nacheinander der Wert eines Elements der Matrix ‚Ausdruck‘ zugewiesen und der Anweisungsblock durchlaufen. Die Anzahl Spalten der Matrix ist gleich der Anzahl der Spaltendurchläufe
FOR-Schleifen Beispiel: >> n = 5; >> fak = 1; >> for j = 1:n fak = fak * j; end >> fak fak = 120
WHILE-Schleifen while relation Anweisungen end Sofern der Ausdruck ‚relation‘ (Matrix) mehr als ein Element hat, werden die Anweisungen im Schleifenkörper genau dann ausgeführt, wenn jede einzelne Komponente wahr ist
WHILE-Schleifen Beispiel: >> sum = 0; >> k = 1; >> while k <= 100 sum = sum + k; k = k + 1; end
Vielen Dank für die Aufmerksamkeit! Fragen? Vielen Dank für die Aufmerksamkeit!