Tipps und Tricks in MATLAB

Ähnliche Dokumente
Einführung in Matlab Was ist MATLAB? Hilfe Variablen

Einführung in die Programmierung (MA8003)

Numerik-Programm, mittlerweile mit vielen Erweiterungen (Toolboxen) Matlab = Matrix Laboratory Sehr gute Doku (doc, help, lookfor)

MATLAB Grundlagen MATLAB. Grundlagen. Vorlesung Matlab/Simulink Dipl.-Ing. U. Wohlfarth

Mathematische Computer-Software

Matlab Selbstlernkurs

Einführung in. Pierre Bayerl

Grundlagen von MATLAB

Markus Grasmair. 8. März 2010

4.2 Selbstdefinierte Matlab-Funktionen 1. Teil

Kurze Einführung in Octave

2 Matrizen und Vektoren

Einführung in Octave. Theorie & Aufgaben

Einführung in MATLAB + MATLAB Simulink. Dipl.-Inf. Markus Appel

INTELLIGENTE DATENANALYSE IN MATLAB. Einführung in MATLAB

Scilab Consortium (École Polytechnique... Renault) kostenloses Download

Einführung in MATLAB

Übung 4: Einführung in die Programmierung mit MATLAB

Matlab Einführung Einführung in die Neuroinformatik SS 12. Miriam Schmidt Institut für Neuroinformatik

Matlab Einführung Theorie Neuronaler Netze WS 11/12. Miriam Schmidt Institut für Neuroinformatik

Einführung in MATLAB Februar 2005

Einführung in Matlab, 2. Teil

Eine Einführung zum numerischen Programmieren mit Matlab

Einführung in Matlab/Octave

Einführung in Matlab

2. Einführung in das Ingenieurtool MATLAB

Technische Mechanik mit Computern. Labor-Einführung

Einführung in MATLAB. Unterlagen zur Lehrveranstaltung Numerische Mathematik I

Matlab Praktikum. Dipl.-Math. Zülfü Taskesen

10:Exkurs MATLAB / Octave

INTELLIGENTE DATENANALYSE IN MATLAB

MATLAB Kurs SS Boris von Loesch. Technische Universität München Center for Mathematical Sciences, Chair of Mathematical Optimization

Eine kurze Einführung in Matlab

Einführung in MATLAB. Adaptive Systeme. 1 Inhaltsverzeichnis

Matlab Übersicht. Matlab steht für MATrix LABoratory, die Fa. The Mathworks wurde 1984 gegründet

Tipps und Tricks für Matlab

1. Variablen, Matrizen, Functionfiles

MATLAB Sommersemester 2018 Dr. Ulf Mäder

Schülerworkshop Computertomographie Mathematik als Schlüsseltechnologie

Matlab Einführung. Tobias Wunner

Matlab: eine kurze Einführung

Programmiervorkurs für die Numerik Teil 2/4

Einführung in MATLAB

MATLAB Kurs SS Boris von Loesch. Technische Universität München Center for Mathematical Sciences, Chair of Mathematical Optimization

Einführung in MATLAB

Matlab: eine kurze Einführung

WiMa-Praktikum 1. Woche 8

Signale und Systeme 1 (Erste Großgruppenübung)

MATLAB. im Rahmen der Vorlesung Digitale Bildverarbeitung

3 Schnellkurs in MATLAB

Grundlagen der Programmierung

Praktikum zur Vorlesung: Numerische Mathematik für Lehramt SS Matlab: Fortsetzung. Jan Mayer. 4. Mai 2006

MATLAB. Eingabe und Ausgabe

Inhaltsverzeichnis. Angelika Bosl. Einführung in MATLAB/Simulink. Berechnung, Programmierung, Simulation. ISBN (Buch):

Anwendung von (Mathematica und) Matlab in der Physikalischen Chemie

MATLAB Eine Einführung

Zyklen: break und continue

Matlab - eine kurze Einführung

Einführung in MATLAB Blockkurs DLR:

Matlab-Seminar: Grundlagen

Einführung in MATLAB / GNU Octave

Anwendungssoftware III (MATLAB)

Einführung in die Programmierung (MA8003)

Klausur Grundlagen Informatik Musterklausur & Lösungen

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

Prof. Dr. Stefan Funken, Dipl.-Ing. Christoph Erath 15. Mai WiMa-Praktikum (Matlab 2/9) Einführung in LATEXund Matlab

Einführung in MATLAB für Maschinenbauer im ersten Semester. Aufgaben und Lösungen

Transkript:

Tipps und Tricks in MATLAB Nichtlineare Modellierung natürlicher Systeme 24. Oktober 2012 Bei Fragen und Anregungen: andreas.mueller@physik.hu-berlin.de 1 Grundlagen Ein Blick in die Hilfe-Datei kann nie schaden... Mit help BEFEHL erscheint eine Beschreibung des gewünschten Befehls. 1.1 Befehlseingabe und Variablen im WorkSpace = einer Variable einen Wert zuweisen ; Ausgabe unterdrücken, Trennen von Befehlen in einer Zeile... Befehl wird in der nächsten Zeile fortgesetzt clear x Löschen von Variable x clear vars Löschen aller Variablen who Auisten aller Variablen im WorkSpace [~, var] = [1, 2] Ignorieren eines Wertes 1.2 Reservierte Variablen pi π i, j 1 inf ans Standardausgabe von Ergebnissen NaN Not a Number, ungültiges Ergebnis 1

1.3 Mathematische Funktionen und Operatoren + - * / ^ Matrixoperatoren.*./.^ elementweise Operatoren mod(x,y) x modulo y rem(x,y) Rest nach Division x/y sqrt(x) x exp(x) Exponentialfunktion log(x) Logarithmus abs(x) x sign(x) Vorzeichen round(x) Runden ceil(x) Aufrunden floor(x) Abrunden real(x) Realteil imag(x) Imaginärteil conj(x) Komplex Konjugierte sin(x) Sinus cos(x) Kosinus tan(x) Tangens 2

1.4 Vektoren und Matrizen A(:,ii) x(a:b) x(a:) x(a:-n) ii-te Spalte von A Einträge a bis b von x Einträge a bis Ende Einträge a bis n elemente vor dem letzten Element [x1 x2...; x3 x4...] Eingabe von Vektoren und Matrizen x1:x2 Erzeugen eines Zeilenvektors [x1, x1 + 1, x1 + 2,..., x2] x1:d:x2 Erzeugen eines Zeilenvektors [x1, x1 + d, x1 + 2 d,..., x2] (d kann auch negativ sein) eye(m,n) Erzeugen einer m n Einheitsmatrix ones(m,n) Erzeugen einer m n Matrix, alle Einträge 1 zeros(m,n) Erzeugen einer m n Matrix, alle Einträge 0 rand(m,n) Erzeugen einer m n Matrix, zufällige Einträge iid (0, 1) randn(m,n) diag(x) A' A.' diff(x,n) size(a) 1.5 Weitere Funktionen min(x) max(x) mean(x) std(x) sum(x) prod(x) num2str(a) Erzeugen einer m n Matrix, zufällige Einträge Standardnormalverteilung Erzeugen einer Diagonalmatrix aus Vektor x oder Ausgabe der Diagonalelemente von Matrix x Transponieren und komplex konjugieren der Matrix A Transponieren der Matrix A n-te Dierenz benachbarter Elemente in Vektor x Dimensionen von A kleinstes Element in Vektor x gröÿtes Element in Vektor x Mittelwert Standardabweichung Aufsummierung der Elemente in Vektor x Produkt der Elemente in Vektor x Umwandeln von Zahlen in Strings 3

1.6 Structs und Cell Arrays struct('n1', w1, 'n2', w2,...) Erstellen einer struct - Variable structure.name Zugri auf Variable name im struct structure CellArray = {Value} Erstellen eines Cell Arrays (Value können Zahlen, Strings,... sein) cell(m,n) Erstellen eines m n Cell Arrays 1.7 Weitere Operatoren == gleich ~= ungleich <, > kleiner, gröÿer <=, >= kleiner, gröÿer gleich ~ nicht &, && und, und (skalar), oder, oder (skalar) all(x) wahr, wenn alle Elemente in x falsch (z.b. 0) any(x) wahr, wenn mindestens ein Element in x wahr find(x) Indizes aller Elemente in x die wahr sind 1.8 Plotten Viele dieser Funktionen geben einen Handle auf das erzeugte Objekt zurück, oder können einen solchen als Parameter nehmen. Siehe help BEFEHL. 4

figure Erzeugen einer neuen Plot- Umgebung plot(x) Plotten jeder einzelnen Spalte von x plot(x,y,'.ro') Plotten von y gegen x in rot mit gestrichelter Linie und einem o- Symbol für jeden Datenpunkt plot3(x,y,z) 3D-Plot der Daten x, y und z hold on nächster Plot-Befehl überschreibt vorigen Plot nicht grid on Hinzufügen von Gitternetzlinien zum Plot subplot(m,n,ii) Erzeugt m n Plot-Bereiche in einer gure-umgebung und plottet in Bereich ii linkaxes(subplots,'xy') x- und y-achsen aller Subplots in subplots werden synchronisiert. axis([xmin, xmax, ymin, ymax]) manuelle Achsenskalierung (2D) axis([x1,x2,y1,y2,z1,z2]) manuelle Achsenskalierung (3D) axis(auto) automatische Achsenskalierung xlim([xmin,xmax]) manuelle Skalierung der x-achse ylim([ymin,ymax]) manuelle Skalierung der y-achse xlim([zmin,zmax]) manuelle Skalierung der z-achse xlabel(string) Beschriftung der x-achse ylabel(string) Beschriftung der y-achse zlabel(string) Beschriftung der z-achse title(string) Plottitel hinzufügen close all Alle Plotfenster schlieÿen 1.9 Arbeiten mit Dateien load('pfad\dateiname ') save('pfad\dateiname ','Variablenname1',...) Laden von Dateien Speichern von Variablen in Datei 5

2 Programmiergrundlagen 2.1 for for ii=1:n y(ii) = x(ii)*x(ii); 2.2 while ii = 1; while ii<=n y(ii) = x(ii)*x(ii); ii = ii + 1; 2.3 ifthenelse if any(x) y = 1/sum(x); elseif all(x) y = 0; else y = 1; 2.4 switch switch a case 1 y = 17; case 2 y = 42; case {3, 6} y = 23; otherwise y = 1; 6

3 Vektorisierung 3.1 for-schleifen vermeiden z = x.*y; ist das Gleiche wie for ii=1:n z(ii) = x(ii)*y(ii); nur schneller. 3.2 Indizierung vs. nd x(x>a) = 1; ist das Gleiche wie ind = find(x > a); x(ind) = 1; 3.3 ind2sub und sub2ind Zum Verständnis wie MATLAB Variablen abspeichert. Es gibt Situationen, in denen die eine Adressierungsmöglichkeit geschickter und schneller ist als die andere. Das Umrechnen zwischen den Adressierungen erfolgt mit ind2sub und sub2ind. 7