Bedingte Anweisungen
Bedingte Anweisungen ermöglichen Ihnen die Auswahl des auszuführenden Codeblocks während der Laufzeit. Die einfachste bedingte Anweisung ist eine if
-Anweisung. Beispiel:
% Generate a random number a = randi(100, 1); % If it is even, divide by 2 if rem(a, 2) == 0 disp('a is even') b = a/2; end
if
-Anweisungen können alternative Auswahlmöglichkeiten umfassen, wenn die optionalen Schlüsselwörter elseif
oder else
verwendet werden. Beispiel:
a = randi(100, 1); if a < 30 disp('small') elseif a < 80 disp('medium') else disp('large') end
Wenn Sie anhand einer Reihe bekannter Werte auf Gleichheit prüfen möchten, können Sie alternativ eine switch
-Anweisung verwenden. Beispiel:
[dayNum, dayString] = weekday(date, 'long', 'en_US'); switch dayString case 'Monday' disp('Start of the work week') case 'Tuesday' disp('Day 2') case 'Wednesday' disp('Day 3') case 'Thursday' disp('Day 4') case 'Friday' disp('Last day of the work week') otherwise disp('Weekend!') end
Für if
und switch
führt MATLAB® den Code aus, der der ersten wahren Bedingung entspricht, und beendet dann den Codeblock. Jede bedingte Anweisung erfordert das Schlüsselwort end
.
Wenn im Allgemeinen viele mögliche diskrete, bekannte Werte vorliegen, sind switch
-Anweisungen leichter zu lesen als if
-Anweisungen. Allerdings können Sie zwischen switch
- und case
-Werten nicht auf Ungleichheit prüfen. Sie können diesen Bedingungstyp beispielsweise nicht mit einer switch
-Anweisung implementieren:
yourNumber = input('Enter a number: '); if yourNumber < 0 disp('Negative') elseif yourNumber > 0 disp('Positive') else disp('Zero') end