K. Taubert, W. Wiedl: MATLAB Einführung

1. Was ist MATLAB und wie wird es benutzt?

MATLAB ist eine Sprache zur Programmierung technisch-wissenschaftlicher Probleme, die es weitgehend erlaubt, diese und die zugehörigen Lösungen in der vertrauten mathematischen Notation auszudrücken.

Matlab ist Matrix-orientiert und erlaubt es, Probleme der Linearen Algebra in kompakter Form zu formulieren und zu lösen.

Beispiel 1.1:

Ein lineares Gleichungssystem M•x=r wird durch die folgenden drei Anweisungen formuliert und gelöst:

» M = [ 3 2 1; ...
        1 3 2; ...
        1 2 3 ];
» r = [ 1; 1; 1 ];
» x = M\r
x =
    0.1667
    0.1667
    0.1667

Matlab-Programme bestehen aus einer Folge von Anweisungen, wie denen in obigen Beispielen. Diese können interaktiv eingegeben werden. Matlab stellt dazu nach dem Aufruf ein spezielles Fenster, das Matlab Command Window zur Verfügung, in das man über die Tastatur Anweisungen eingibt.
Matlab liefert in der Regel zu jeder Eingabe eine Antwort, was man durch ein Semikolon am Ende der Eingabe verhindern kann. Sobald Matlab wieder bereit ist, eine Eingabe anzunehmen, zeigt es dies durch Ausgabe eines speziellen Zeichens » an. Dieses Zeichen wird Prompt genannt.
In Beispiel 1.1 wird als erste Anweisung nach Erscheinen des Prompts:
» M = [ 3 2 1; ...
        1 3 2; ...
        1 2 3 ];
eingegeben. Die Anweisng erstreckt sich über drei Zeilen, die erste und zweite Zeile wird jeweils durch drei Punkte abgeschlossen, wodurch kenntlich gemacht wird, das die Anweisung in der Folgezeile fortgesetzt wird. Am Ende der Anweisung, also am Ende der dritten Eingabezeile finden Sie ein Semikolon, mit dem verhindert wird, dass Matlab auf diese Eingabe eine Anwort ausgibt.
Die eigentliche Anweisung ist:
  M = [ 3 2 1;
        1 3 2; 
        1 2 3 ]
und ordnet dem Namen M den Wert:
      [ 3 2 1;
        1 3 2;
        1 2 3 ]
zu. Dieser Wert ist eine 3•3 Matrix, also eine Matrix mit 3 Zeilen und drei Spalten. Jede Zeile wird durch ein Semikolon abgeschlossen. Der Zeilenvorschub hat dabei keine Bedeutung, man könnte die Matrix auch in der Form:
      [ 3 2 1; 1 3 2; 1 2 3 ]
angeben. Wegen des Semikolons am Ende der Eingabe antwortet Matlab nur mit einem Prompt.
Die zweite Anweisung ist:
» r = [ 1; 1; 1 ];
Dem Namen r wird als Wert eine 3•1 Matrix, also ein Spaltenvektor der Läge 3 zugeordnet. Die Unterscheidung zwischen Zeilen- und Spaltenvektoren ist wesentlich in Matlab. Auch diese Anweisung wird mit einem Semikolon abgeschlossen, weshalb Matlab wieder keine Antwort ausgibt, sondern nur einen Prompt.
Die dritte Anweisung ist:
» x = M\r
und wird ohne abschließendes Semikolon abgeschickt, Matlab liefert daher eine Antwort. Der Operator \ in der Anweisung wird "Links-Division" genannt und liefert hier einfach zur Lösung des linearen Gleichungssystems M•x=r.

Matlab unterstützt die Visualisierung mathematisch-naturwissenschaftlicher Probleme in effizienter Weise:

Beispiel 1.2:

Die folgenden vier Anweisungen berechnen die Oberfläche einer zweidimensionalen Funktion z = f(x,y) und stellen Sie auf dem Bildschirm in einem eigenen Graphik-Fenster dar:

» [X,Y] = meshgrid(-8:.5:8);
» R = sqrt(X.^2+Y.^2) + 1.0e-8;
» Z = sin(R)./R;
» surf(X,Y,Z);

Matlab-Programme bestehen aus einer Folge von Anweisungen, wie denen in obigen Beispielen. Diese können interaktiv eingegeben werden. Matlab stellt dazu nach dem Aufruf ein spezielles Fenster, das Matlab Command Window zur Verfügung, in das man über die Tastatur Anweisungen eingibt.
Matlab liefert in der Regel zu jeder Eingabe eine Antwort, was man durch ein Semikolon am Ende der Eingabe verhindern kann. Sobald Matlab wieder bereit ist, eine Eingabe anzunehmen, zeigt es dies durch Ausgabe eines speziellen Zeichens » an. Dieses Zeichen wird Prompt genannt.
In Beispiel 1.1 wird als erste Anweisung nach Erscheinen des Prompts:
» M = [ 3 2 1; ...
        1 3 2; ...
        1 2 3 ];
eingegeben. Das abschließende Semikolon am Ende der Eingabe verhindert, dass eine Antwort auf die Eingabe ausgegeben wird (die anderen Semikola in dieser Eingabe haben eine andere Bedeutung). Matlab antwortet auf diese Eingabe daher nur mit einem Prompt.
Auch die zweite Eingabe: r = [ 1; 1; 1 ]; wird mit einem Semikolon abgeschlossen, so dass Matlab auch hier nur einen Prompt als Antwort liefert.
Die dritte Anweisung: x = M\r wird ohne abschließendes Semikolon abgeschickt, Matlab liefert als Antwort daher das Ergebnis dieser Anweisung, also den Lösungsvektor x, ein dreizeiliger Spaltenvektor.

Man kann Matlab-Programme auch im Stapelbetrieb ablaufen lassen, d.h. man schreibt alle Anweisungen eines Matlab-Programmes in eine Datei, M-File genannt, und lässt dann das gesamte Programm in dieser Datei ausführen. Der Start wird durch Eingabe des Dateinamens im interaktiven Betrieb veranlaßt.

Mischformen aus interaktivem und Stapelbetrieb sind möglich. Der interaktive Betrieb ist für kurze Programme wie in den obigen Beispielen sinnvoll, der Stapelbetrieb empfiehlt sich für kompliziertere Anweisungsfolgen.

Alle Beispiele in diesem Text sind jeweils Ausschnitte des 'Matlab Command Windows' bei interaktivem Betrieb. Die Benutzereingaben sind fett, die Matlab-Ausgaben normal wiedergegeben.

Bei der Eingabe wird jede Zeile durch Enter abgeschlossen, das ist die Taste rechts im Eingabefeld, die sich über 2 Tastenreihen erstreckt.

Üblicherweise gibt man jede Anweisung, wie in Beispiel 1.2, in einer eigenen Eingabezeile ein. Wenn dies nicht möglich ist, zeigt man durch drei Punkte am Zeilenende an, daß die Anweisung in der nächsten Zeile fortgesetzt wird.
In Beispiel 1.1 wurde dies in der ersten Zeile so gemacht. Die betreffende Anweisung erstreckt sich über drei Zeilen. In diesem Falle hätte man die Fortsetzungspunkte auch weglassen können, da Matlab in diesem speziellen Falle auch ohne Punkte erkennt, daß die Anweisung noch nicht beendet ist.

Die Ausgabe der Ergebnisse auf dem Bildschirm kann mehr Zeit als ihre Berechnung kosten und ist nicht immer erwüscht. Durch ein Semikolon am Ende der Anweisung kann man diese Ausgabe unterdrücken. Dies gilt sowohl im interaktiven als auch im Stapelbetrieb.

In Beispiel 1.1 wird die Eingabe der Matrix M über 3 Zeilen verteilt und die Eingaben von M und r werden jeweils mit Semikolon abgeschlossen, so daß Matlab keine Ergebnisse dazu ausgibt. Bei der dritten Anweisung wird die Matlab-Antwort nicht unterdrückt.

Mit Hilfe der format-Anweisung kann man das Zahlenformat der Matlab-Ausgaben, nicht die Rechengenauigkeit, beeinflussen, die folgenden Beispiele zeigen einige der Möglichkeiten, das erste Beispiel entspricht der Voreinstellung (short, loose). Reelle Werte werden in der Regel natürlich nur näherungsweise dargestellt, dies gilt unabhängig vom Ausgabeformat und trifft insbesondere auch auf die interne Darstellung der Werte zu.:

» 3.14

ans =
     3.1400
» format compact
» 3.14
ans =
      3.1400
» format rat
» 0.5
ans =
     1/2
» pi
ans =
     355/113 
» format short
» pi
ans =
    3.1416
» format long e
» 0.5
ans =
    5.000000000000000e-001 

Informationen zu weiteren Formaten erhalten Sie mit der Matlab Anweisung:

   » help format

help liefert nicht nur Anweisungen zum Ausgabeformat sondern generell zu allen Matlab Sprachelementen. Weitere Hilfen finden Sie über das Help-Menue des Matlab Command Windows.


Titelblatt       weiter