Mo Logo [Home] [Lexikon] [Aufgaben] [Tests] [Kurse] [Begleitmaterial] [Hinweise] [Mitwirkende] [Publikationen]

Mathematik-Online-Kurs: MATLAB - Programmierung

if-Abfrage


[vorangehende Seite] [nachfolgende Seite] [Gesamtverzeichnis][Seitenübersicht]

Die if-Abfrage zur Durchführung einer bedingten Verzweigung besitzt die folgende Syntax:

\begin{quote}
{\tt if} {\sl logischer Ausdruck}\\
\mbox{}\quad {\sl Befehle} ...
...ehle} \\
{\tt else}\\
\mbox{}\quad {\sl Befehle} \\
{\tt end}
\end{quote}

Ist der erste logische Ausdruck wahr, werden die unmittelbar folgenden Befehle ausgeführt. Andernfalls wird der Ausdruck der nachfolgenden elseif-Anweisung geprüft usw. Sind alle logischen Ausdrücke falsch, werden die Befehle des else-Zweigs ausgeführt.

Die Anzahl der elseif-Zweige ist beliebig. Deren Angabe kann ebenso wie der else-Zweig entfallen. Zur Konstruktion der Ausdrücke kann oft auf geeignete Indikatorfunktionen wie isempty, isstr, ischar, isinf, isnan, isfinite, usw. zurückgegriffen werden.

Soll anhand einer überschaubaren Menge diskreter Werte entschieden werden, ist switch der Verwendung von if vorzuziehen

(Autoren: Hörner/Wipper)

Das Signum

$\displaystyle s(x)=
\begin{cases}
1 & \mbox{für } x>0, \\
0 & \mbox{für } x=0, \\
-1 & \mbox{für } x<0
\end{cases}$

einer rationalen Zahl $ x$ lässt sich in MATLAB mit Hilfe der folgenden if-Abfrage bestimmen:
  if x>0               
    s=1;               
  elseif x<0           
    s=-1;              
  else                 
    s=0;               
  end
Alternativ dazu lässt sich $ s$ auch ohne die Verwendung einer if-Abfrage mittels
  s=(x>0)-(x<0);
berechnen. Hier ergibt sich $ s$ durch Subtraktion der logischen Werte der beiden geklammerten Vergleiche.

(Autoren: Hörner/Wipper)

[vorangehende Seite] [nachfolgende Seite] [Gesamtverzeichnis][Seitenübersicht]

  automatisch erstellt am 5.2.2008