130 likes | 290 Views
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.
E N D
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:
IF-Anweisung • Beispiele: • >>if [ ], • wird_nie_ausgeführt(); • end • >>if 123, • wird_immer_ausgeführt(); • end • >>a = 1.5; • >>b = 3; • >>if (a <= 2) && (b ~= 4), • wird_ausgeführt(); • end
CASE-Anweisungen switchswitch-Ausdruck casecase-Ausdruck Befehle casecase-Ausdruck Befehle … otherwise Befehle 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
Fragen? Vielen Dank für die Aufmerksamkeit!