Die Lizenzen stellt die Hochschule oder der Arbeitgeber. Hersteller ist die Firma Mathworks.
Da die Lizenzen ausgesprochen teuer sind, lohnt sich ein Blick auf die Open-Source-Clones. Für die Gestaltung dieser Seite wurde immer wieder Octave herangezogen.
IDE
Nach dem Start von MATLAB bzw. Octave zeigt sich eine grafische Oberfläche, in deren Zentrum ein Command-Window ist, in dem Kommandos interaktiv eingegeben werden können.Für komplexere Aufgabe oder im Anfang ist es sinnvoller, Programmdateien anzulegen. Diese enden mit Extension .m und werden in einem Editor geschrieben.
Einfache Variablen und Rechnen
Variablen werden in MATLAB nicht explizit deklariert, sondern entstehen bei ihrem Gebrauch. Dann wird auch der Typ der Variablen bestimmt.Für die Ausgabe einer Variable aus einem Skript heraus wird der Befehl disp(var) verwendet.
Zuweisung und einfache Variablen
Variablen werden automatisch durch ihre erste Verwendung definiert. MATLAB ermittelt den Typ aus der Zuweisung. Eine Zuweisung besteht aus der Zielvariablen, gefolgt von dem Zuweisungszeichen =. Es folgt ein Ausdruck, der den Wert ergibt, der der Zielvariablen zugewiesen wird. Abgeschlossen wird die Zuweisung durch ein Semikolon.m = 1000;
Grundrechenarten
+ | Addititon |
- | Subtraktion |
* | Multiplikation |
/ | Division |
^ | Potenzieren |
name = 'Arnold';Boolesche Variablen können die Werte true und false annehmen.
stimmt = true;
== | gleich |
~= | ungleich |
<= | kleiner oder gleich |
>= | größer oder gleich |
< | kleiner |
> | größer |
Vektoren
Ein Zeilenvektor kann als Literal durch rechteckige Klammern definiert werden. Die Werte werden, durch Leerzeichen getrennt, hintereinander geschrieben.zeilenvector = [1 3 6 9];Bestimmte Vektoren können auch generiert werden. In diesem Fall wird durch Doppelpunkte separiert der Startwert, die Schrittweite und der Endwert angegeben.
zehntelbisdrei = 0 : 0.1 : 3;
Stellt der Vektor eine Spalte dar, wird ein Semikolon zwischen die Werte geschrieben.
spaltenvector = [1; 3; 6; 9];
Matrix
Eine Matrix hat zwei Dimensionen. Hier werden die Zeilenwerte durch Leerzeichen und die Spalten durch Semikolon getrennt.matrix = [1 4 7 4; 2 4 5 3; 2 2 1 4];
+ | Addititon |
- | Subtraktion |
* | Multiplikation |
.* | Elementweise Multiplikation |
./ | Elementweise Division |
.^ | Elementweise Potenzieren |
Ablaufstrukturen
if
if a>5 % Hier ist a größer als 5 elseif a<=2 % Hier ist a kleiner oder gleich 2 else % Hier ist a kleiner oder gleich 5 und größer als 2 end
while
Die folgende Schleife zählt von 10 bis 1:a = 10; while (a > 0) disp(a); a = a - 1; end
for
Die folgende Schleife zählt von -1 bis 1 in 0,1-er Schritten. Das Ergebnis zeigt, dass MATLAB die Zahlen nicht binär kodiert, sonst würde bei 0 eine endlose Periode auftreten.for a = -1 : 0.1 : 1 disp(a); endBei einer for-Schleife kann die Schrittweite auch weggelassen werden. Dann ist die Schrittweite 1.
Funktion
Eine Funktion wird in einer Datei abgelegt, die den gleichen Namen wie die Funktion besitzt. Die folgende Funktion wird also in der Datei doppel.m abgelegt.function ausgabe = doppel(eingabe) ausgabe = eingabe * 2; end
Grafische Darstellung
Mit der Anweisung plot kann ein Vektor direkt in einem Fenster dargestellt werden. Die Kunst liegt darin, die Funktion in einen Vektor zu bekommen.x = 0: 0.1:2; y = x.*x; plot(x,y) grid on;Anmerkung: Bei octave ist es sinnvoll, noch die folgende Zeile darunter zu setzen, damit das Fenster nicht gleich wieder verschwindet.
input("Taste drücken");Das Gleiche noch einmal mit einer Sinuskurve:
x = 0: 0.1: 2; y = sin(pi*x); figure(1); plot(x,y); grid on;
title("Titel") | Schreibt einen Titel über die Grafik |
xlabel("X-Achse") | Beschriftet die X-Achse |
ylabel("Y-Achse") | Beschriftet die Y-Achse |
grid on | Hinterlegt ein Raster |
hold on | Halte das aktuelle Fenster für weitere Zeichnungen aktiv |
Die Anweisung plot akzeptiert als dritten Parameter die Farbe oder den Linienstil.
'r' | rot |
'y' | gelb |
'm' | magenta |
'c' | cyan |
'g' | grün |
'b' | blau |
'r' | weiß |
'k' | schwarz |
'-' | Linie (default |
'- - ' | gestrichelt |
':' | gepunktet |
'- .' | Strichpunkt |
'o' | Endemarker Kreis |
'+' | Plus |
'*' | Stern |
'.' | Punkt |
'x' | Kreuz |
Sound
Sinuskurven sind deshalb so spannend, weil man sie auch hören kann. Jedenfalls wenn sie im richtigen Frequenzbereich liegen. Im folgenden Beispiel wird der Sound durch eine Sinuskurve generiert.Die Frequenz sind 400 Hz, also der Kammerton a. Der Ton wird durch die Abtastfrequenz 11025 digitalisiert.
zeit = 2; % Sekunden frequenz = 440; % Kammerton a fa = 11025; % Abtastfrequenz x = 0: 1/fa: zeit; y = sin(2*pi*frequenz*x); sound(y, fa);