Zusammenfassung

NTS1-P Natur, Technik und Systeme 1 Praktikum
Dr. Christoph Kirsch
Herbstsemester 2012
ZHAW Winterthur
Zusammenfassung
Hier nden Sie die wichtigsten MATLAB-Befehle aus dem Kurs NTS1-P zusammengefasst.
1 Grundlegende Bedienung
• Standard-Fensteranordnung: Menü Desktop/Desktop Layout/Default
• Suche nach MATLAB-Befehlen: lookfor
• Hilfe über MATLAB-Befehle: help, doc oder Fragezeichen-Schaltäche
• Ausgabe des Resultats unterbinden: Semikolon ; am Ende der Eingabe
• Variablen im Arbeitsbereich des Hauptspeichers: who, whos oder im Workspace
• alle Variablen löschen: clear all, alle Plot-Fenster schliessen: close all
• Wiederholen der letzten Eingaben: Pfeiltaste hoch (oder über Command History)
• Protokoll der MATLAB-Sitzung: diary (on/off)
• MATLAB verlassen: exit, quit
2 Grundrechenarten, Darstellungsformat
• Grundrechenarten: +, -, *, /, Potenzen , imaginäre Einheit 1i mit 1i2 = -1
• Darstellungsformat: format (short, long, short e, long e, rat)
• Liste von elementaren mathematischen Funktionen: help elfun
• Der Variablen myvariable den Wert 3.4 zuweisen: myvariable = 3.4;
• Rechnen mit Variablen und Zahlen: 2*myvariable - myvariable/5.6 + 1.2i
3 Vektoren und Matrizen (Felder, arrays)
Eingabe mit eckigen Klammern [ ], Abschluss einer Zeile mit Semikolon ;
• Zeilenvektor, (1 × n)-Matrix: v=[1 2 3 4];
bei gleichem Abstand zwischen allen Einträgen auch mit Kolon: v=1:4, y=2:0.03:5
• Spaltenvektor, (m × 1)-Matrix: w=[7;5;6;8]; (Semikolon trennt Einträge)
oder w=[7 5 6 8].'; (Eingabe als transponierter Zeilenvektor)
1
• (3 × 4)-Matrix: A=[1 2 3 4;5 6 7 8;9 10 11 12]; (Semikolon trennt Zeilen)
• Feld aus Feldern: B=[A;v]; eine (4 × 4)-Matrix
• spezielle Felder: zeros, ones, eye
• Felder mit Pseudozufallszahlen: rand, randn z. B. C=rand(4)
Rechnen mit Vektoren und Matrizen
• Transponierte v.', A.'
• Diagonalmatrix aus einem Vektor: diag(v), Diagonale einer Matrix: diag(B)
• Produkte: v*w, w*v, A*w, B*w, v*A.', v*B, A*C, A*B
• komponentenweise Produkte und Quotienten: v.*w.', B.*C, C./B
Die meisten MATLAB-Funktionen operieren komponentenweise auf Feldern. Wenn
die Funktionsweise nicht eindeutig ist, dann kann die komponentenweise Operation
mit einem Punkt vor dem Operator erzwungen werden, so wie oben mit .* und ./
• Lösung des linearen Gleichungssystems Cx = w: x=C\w, Residuum C*x-w
• Einträge von Vektoren: v(3), y(20:40)
• Einträge von Matrizen: A(2,3), B(1,:), C(:,4), A(1:2,[1 3 4])
MATLAB-Funktionen für Vektoren und Matrizen
• Grösse des Feldes: size(v), length(y), size(C)
• kleinster und grösster Eintrag: min(v), max(y), max(max(C))
• statistische Grössen, z. B. für Messwerte: mean, median, var, std
• Summe/Produkt der Einträge (für Matrizen spaltenweise): sum(v), sum(B), prod(w)
• Einträge sortieren (für Matrizen spaltenweise): sort(w), sort(B)
• Euklidische Norm von Vektoren, Spektralnorm von Matrizen: norm(v), norm(A)
• Rang, Determinante, Eigenwerte, Singulärwerte: rank(A), det(B), eig(C), svd(A)
4 Grasche Darstellung
• Punkte in zwei Dimensionen: plot(y,y.3,v,v.3,'o')
• Achsengrenzen festlegen: axis([2 5 0 130])
• Achsenbeschriftungen: xlabel('Abszisse'), ylabel('Ordinate')
• Titel: title('Graph von y = x3') (MATLAB kann auch LATEX-Befehle interpretieren)
2
• Legende: legend('Kurve','Kreise')
• Punkte in drei Dimensionen: figure, plot3(y,sin(3*y),y.4,'.-')
• weiterer Plot: hold on, plot3(y,cos(4*y),5*y.3,'r.-'), hold off
• Punktgitter in 2D: x=-5:0.05:1; y=-5:0.1:5; [X,Y]=meshgrid(x,y);
• Fläche in 3D: Z=sin(X.2)-Y.2; mesh(X,Y,Z), figure, surf(X,Y,Z)
• andere Färbung: shading interp, colormap copper
5 Import/Export
• Speichern von Workspace-Variablen in Datei Test.mat: save Test A B v
• Löschen und erneutes Einlesen dieser Variablen: clear A B v, load Test
• Excel-Tabellen importieren und exportieren: xlsread, xlswrite
6 Programmieren in MATLAB
• Skript bearbeiten: edit myscript
• Skript im Befehlsfenster ablaufen lassen: myscript oder run('myscript')
• Wahrheitswerte von logischen Aussagen: 1 (wahr), 0 (falsch)
• Vergleichsoperatoren: >, <, >=, <=, ==, = z. B. 1==2 ergibt 0 (falsch)
• logische Verknüpfungen: and/&, or/|, not/, xor z. B. (1<2)&(4>3) ergibt 1 (wahr)
Kontrollstrukturen
• bedingte Anweisung, Verzweigung, Fallunterscheidung: doc if bzw. doc switch
• For-Schleife (bestimmte Anzahl Wiederholungen): doc for
• While-Schleife (Ausführung, so lange ein logischer Ausdruck wahr ist): doc while
• Abbrechen der (innersten) Schleife: break
• Frühzeitiges Beenden des gesamten Skripts: return
Funktionen
• doc function
Kurswebseite: http://home.zhaw.ch/kirs/NTS1-P
3