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
© Copyright 2024 ExpyDoc