Main Content

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

Siehe auch

| | |

Externe Websites