matlab - startseite tu ilmenau · 1. einführung • was ist matlab ? – das matlab-system • die...

47
Matlab Eine Einführung Quellen: Matlab „Getting Started“ Guide (siehe Onlinehilfe Matlab) http://www.rrz.uni-hamburg.de/RRZ/W.Wiedl/Skripte/Matlab/index.html Praxiswerkstatt: Bildverarbeitung mit Matlab Wintersemester 14/15 Christian Weigel, Thomas Lagemann

Upload: dinhduong

Post on 05-Jun-2018

264 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Matlab - Startseite TU Ilmenau · 1. Einführung • Was ist MATLAB ? – Das MATLAB-System • Die MATLAB-Dokumentation – Die Online-Hilfe – Direkte Hilfe in der Entwicklungsumgebung

Matlab

Eine Einführung

Quellen: Matlab – „Getting Started“ Guide (siehe Onlinehilfe Matlab)

http://www.rrz.uni-hamburg.de/RRZ/W.Wiedl/Skripte/Matlab/index.html

Praxiswerkstatt: Bildverarbeitung mit Matlab

Wintersemester 14/15

Christian Weigel, Thomas Lagemann

Page 2: Matlab - Startseite TU Ilmenau · 1. Einführung • Was ist MATLAB ? – Das MATLAB-System • Die MATLAB-Dokumentation – Die Online-Hilfe – Direkte Hilfe in der Entwicklungsumgebung

Inhalt

• Einführung

• Arithmetische Daten, Operationen und Ausdrücke

• Datenstrukturen

• Grafiken

• Programmierung

Page 3: Matlab - Startseite TU Ilmenau · 1. Einführung • Was ist MATLAB ? – Das MATLAB-System • Die MATLAB-Dokumentation – Die Online-Hilfe – Direkte Hilfe in der Entwicklungsumgebung

1. Einführung

• Was ist MATLAB ?

– Das MATLAB-System

• Die MATLAB-Dokumentation

– Die Online-Hilfe

– Direkte Hilfe in der Entwicklungsumgebung

• Starten und Beenden von MATLAB

• Der MATLAB - Desktop

Page 4: Matlab - Startseite TU Ilmenau · 1. Einführung • Was ist MATLAB ? – Das MATLAB-System • Die MATLAB-Dokumentation – Die Online-Hilfe – Direkte Hilfe in der Entwicklungsumgebung

1.1 Was ist MATLAB? (1/2)

• Werkzeug zur Berechnung, Visualisierung und Programmierung – intuitive Umgebung

– Nutzung bekannter mathematischer Notationen

– einfache Datenerfassung

– Auf numerische Lösungen spezialisiert

• Toolbox-Konzept – Sammlung anwendungsspezifischer Funktionen

• Kein Reservieren/Freigeben von Speicher nötig

• Einfache Erstellung grafischer Benutzeroberflächen

Page 5: Matlab - Startseite TU Ilmenau · 1. Einführung • Was ist MATLAB ? – Das MATLAB-System • Die MATLAB-Dokumentation – Die Online-Hilfe – Direkte Hilfe in der Entwicklungsumgebung

1.1 Was ist MATLAB? (2/2)

• Das MATLAB-System:

– Entwicklungsumgebung und Desktop-Tools

• Matlab-Desktop, Editor/Debugger, Code Analyzer…

– Mathematische Funktionsbibliothek

• Von einfachen (sin …) bis komplexen Fkt. (FFT…)

– Matlab-Programmiersprache

• Hochsprache (Flusskontrolle, Datenstrukturen … )

– Grafiken

• 2D / 3D-Plots, Animationen, Präsentationsgrafiken

– Schnittstellen/API

• Interaktion zwischen C/Fortran und Matlab

• Datenerfassung von externen Quellen

Page 6: Matlab - Startseite TU Ilmenau · 1. Einführung • Was ist MATLAB ? – Das MATLAB-System • Die MATLAB-Dokumentation – Die Online-Hilfe – Direkte Hilfe in der Entwicklungsumgebung

1.2. Matlab-Dokumentation

• Online-Hilfe

– Hauptkategorien (Mathematics, Graphics …)

• Auch als pdf verfügbar

– Funktionen (nach Kategorie, alphabetisch)

– Beispiele

• Hilfe im Commandwindow:

– help-Befehl help <Funktion>

– doc-Befehl doc <Funktion>

– lookfor

Page 7: Matlab - Startseite TU Ilmenau · 1. Einführung • Was ist MATLAB ? – Das MATLAB-System • Die MATLAB-Dokumentation – Die Online-Hilfe – Direkte Hilfe in der Entwicklungsumgebung

1.3. Starten und Beenden

• Beenden wie gewohnt möglich

• Befehl exit

• Befehl quit

Page 8: Matlab - Startseite TU Ilmenau · 1. Einführung • Was ist MATLAB ? – Das MATLAB-System • Die MATLAB-Dokumentation – Die Online-Hilfe – Direkte Hilfe in der Entwicklungsumgebung

1.4. Der Matlab-Desktop1

• Aufteilung in drei Fenster

– Command-Window

• Taschenrechner-Modus

– Command-History

• Nach Tagen sortiert

• Kommentare möglich

– Variablen/Workspace-Browser

• Schnelles Wählen des Arbeitsverzeichnisses

• Vordefinierte Plot-Möglichkeiten

• Array-Editor

Page 9: Matlab - Startseite TU Ilmenau · 1. Einführung • Was ist MATLAB ? – Das MATLAB-System • Die MATLAB-Dokumentation – Die Online-Hilfe – Direkte Hilfe in der Entwicklungsumgebung

1.4. Der Matlab-Desktop2

Page 10: Matlab - Startseite TU Ilmenau · 1. Einführung • Was ist MATLAB ? – Das MATLAB-System • Die MATLAB-Dokumentation – Die Online-Hilfe – Direkte Hilfe in der Entwicklungsumgebung

2. Arithmetische Daten,

Operationen und Ausdrücke

• Zahlenformate

• Variablen

• Arithmetische Operatoren

• Elementare Funktionen

• Arithmetische Ausdrücke

• Logische Ausdrücke

Page 11: Matlab - Startseite TU Ilmenau · 1. Einführung • Was ist MATLAB ? – Das MATLAB-System • Die MATLAB-Dokumentation – Die Online-Hilfe – Direkte Hilfe in der Entwicklungsumgebung

2.1. Zahlenformate

• Wertebereich in MATLAB:

– 1e-308 bis 1e308

– Genauigkeit: ungefähr 16 Dezimalstellen

• Erlaubte Schreibformen:

– Ganze Zahlen, z.B.: 3, -10, +28

– Dezimalbrüche, z.B.: 1.25, -.8, +4.

– Gleitkommazahlen, z.B.: 1e3, -4.5e8, +1.25e-4

– Komplexe Zahlen:

• Als Summe von Real und Imaginärteil, z.B.:

-3.25+1.5i, 4-.2j (i und j sind identisch)

• Zugriff auf Real/Imaginärteil mit real(Zahl) und

imag(Zahl)

Page 12: Matlab - Startseite TU Ilmenau · 1. Einführung • Was ist MATLAB ? – Das MATLAB-System • Die MATLAB-Dokumentation – Die Online-Hilfe – Direkte Hilfe in der Entwicklungsumgebung

2.2. Variablen

• Variablennamen:

– Immer mit Buchstaben beginnend

– Unbegrenzt viele Ziffern, Buchstaben und Underscores

• Aber: nur die ersten 31 Zeichen werden verglichen

– Case-sensitive

– Keine geschützten Namen (Schlüsselwörter)

• Knappe, sinnvolle Benennung!

– Z. B. entsprechend der Notation in bestimmten

Algorithmen

Page 13: Matlab - Startseite TU Ilmenau · 1. Einführung • Was ist MATLAB ? – Das MATLAB-System • Die MATLAB-Dokumentation – Die Online-Hilfe – Direkte Hilfe in der Entwicklungsumgebung

2.3. Arithmetische Operatoren

• Addition/Subtraktion: + bzw. -

• Multiplikation: * bzw. .*

• (Rechts)division: / bzw ./

• (Links)division: \ bzw. .\

– Bei Skalaren ist das Ergebnis der Kehrwert der normalen

Division

• Potenzieren: ^ bzw. .^

• Unäres + und -

• Ergebnisse Inf und NaN

Page 14: Matlab - Startseite TU Ilmenau · 1. Einführung • Was ist MATLAB ? – Das MATLAB-System • Die MATLAB-Dokumentation – Die Online-Hilfe – Direkte Hilfe in der Entwicklungsumgebung

2.4. Elementare Funktionen

• Trigonometrische Funktionen – sin, asin, sinh, asinh ….

• Exponentialfunktionen – exp, log, log2, log10, pow2, nextpow2, sqrt

• Komplexe Zahlen: – abs, angle, real, imag, conj …

• Runden: – Fix (towards zero), ceil, floor, round …

Page 15: Matlab - Startseite TU Ilmenau · 1. Einführung • Was ist MATLAB ? – Das MATLAB-System • Die MATLAB-Dokumentation – Die Online-Hilfe – Direkte Hilfe in der Entwicklungsumgebung

2.5. Arithmetische Ausdrücke

• Mehrere Operationen werden nach folgenden

Prioritätsstufen abgearbeitet:

– Klammerung ()

– 1. Potenzbildungen

– 2. unäres Plus/Minus

– 3. Multiplikation/Division

– 4. Addition/Subtraktion

• Bsp.: -2^2 = -4

Page 16: Matlab - Startseite TU Ilmenau · 1. Einführung • Was ist MATLAB ? – Das MATLAB-System • Die MATLAB-Dokumentation – Die Online-Hilfe – Direkte Hilfe in der Entwicklungsumgebung

2.6. Logische Ausdrücke

• Logische Operatoren: – Elementweise: &(AND), |(OR), ~(NOT), xor()

– Bitweise: bitand(), bitor() …

• Vergleichsoperatoren: – Zwei Argumente: < (lt), <= (le), >(gt), >=(ge), ==(eq), ~=(ne)

– Ein Argument: isnan(), isreal(), isfinite()

• Logische Ausdrücke: – 0|1+1|0 ans=1 (true)

– (0|1)+(1|0) ans=2 (arithmetische Wertung)

Page 17: Matlab - Startseite TU Ilmenau · 1. Einführung • Was ist MATLAB ? – Das MATLAB-System • Die MATLAB-Dokumentation – Die Online-Hilfe – Direkte Hilfe in der Entwicklungsumgebung

3. Datenstrukturen

• Was sind Datenstrukturen?

• Felder (Arrays) und Feldelemente

• Erstellen von Matrizen

• Spezielle Felder

• Zugriff auf Feldelemente

• Gestalt eines Feldes ändern

• Rechnen mit Feldern

Page 18: Matlab - Startseite TU Ilmenau · 1. Einführung • Was ist MATLAB ? – Das MATLAB-System • Die MATLAB-Dokumentation – Die Online-Hilfe – Direkte Hilfe in der Entwicklungsumgebung

3.1. Was sind Datenstrukturen

• Daten die aus einzelnen Elementen

zusammengesetzt sind

• Deren Elemente sind wiederum Datenstrukturen

oder skalare Daten

• Skalare in Matlab: komplexe und reelle Zahlen

Page 19: Matlab - Startseite TU Ilmenau · 1. Einführung • Was ist MATLAB ? – Das MATLAB-System • Die MATLAB-Dokumentation – Die Online-Hilfe – Direkte Hilfe in der Entwicklungsumgebung

3.2. Felder und Feldelemente

• Ein Feld ist eine Datenstruktur, deren Elementen alle von derselben „skalaren“ Datenart sind

• „Ein“- oder mehrdimensional Feldindices

• Matlab: Indices beginnen bei 1 und laufen in 1er-Schritten bis zur Länge der Dimension

• Elementarer Baustein ist Matrix – Skalar ist 1*1-Matrix

– Zeilenvektoren sind 1*n-Matrizen

– Spaltenvektoren sind n*1-Matrizen

Page 20: Matlab - Startseite TU Ilmenau · 1. Einführung • Was ist MATLAB ? – Das MATLAB-System • Die MATLAB-Dokumentation – Die Online-Hilfe – Direkte Hilfe in der Entwicklungsumgebung

3.3. Erstellen von Matrizen

• Eine m*n-Matrix besteht aus m Zeilen und n Spalten

• Direkte Eingabe – Spalten durch Leerstellen oder Kommas trennen

– Zeilen durch ein Semikolon trennen

– Gesamte Elementliste mit eckigen Klammern umschliessen (Ausnahme: Skalar)

– Bsp: >> Matrix=[1 2 3; 2 3 1; 3 1 2]

Matrix =

1 2 3

2 3 1

3 1 2

Page 21: Matlab - Startseite TU Ilmenau · 1. Einführung • Was ist MATLAB ? – Das MATLAB-System • Die MATLAB-Dokumentation – Die Online-Hilfe – Direkte Hilfe in der Entwicklungsumgebung

3.4 Spezielle Felder

• Felder mit Nullen und Einsen

– zeros(m<,n,p,..>), ones(m<,n,p,…>)

• Einheitsmatrix

– eye(m<,n>)

• Zufallsfelder

– rand(), randn()

• Magische Matrix und Pascalsches Dreieck

– pascal(), magic()

• Zeilenvektoren mit äquidistanten Werten

– linspace(<Start>,<Ende>,<Anzahl>)

– logspace() ….

Page 22: Matlab - Startseite TU Ilmenau · 1. Einführung • Was ist MATLAB ? – Das MATLAB-System • Die MATLAB-Dokumentation – Die Online-Hilfe – Direkte Hilfe in der Entwicklungsumgebung

3.5. Zugriff auf Feldelemente1

• Auf einzelne Elemente:

– Angabe der Indices in runden Klammern

• Bsp.: A=

-2 0 3

2 4 1

5 7 -8

– Nutzung des internen eindimensionalen Feldes

• Aus obigen Beispiel: A(7)=3, A(4)=0

A(1,1) = -2

A(3,2) = 7

Page 23: Matlab - Startseite TU Ilmenau · 1. Einführung • Was ist MATLAB ? – Das MATLAB-System • Die MATLAB-Dokumentation – Die Online-Hilfe – Direkte Hilfe in der Entwicklungsumgebung

3.5. Zugriff auf Feldelemente2

• Der Doppelpunktoperator „:“

– Zugriff auf einen Bereich

• Bsp.: A= -2 0 3

2 4 1

5 7-8

• Nutzung der speziellen Built-In-Funktion „end“ als

Indexangabe

A(1:2,2:3) ans = 0 3

4 1

A(3,:) ans = 5 7 -8

A(1,2:end) ans = 0 3

A(end,:) ans = 5 7 -8

A(:)‘ ans = -2 2 5 0 4 7 3 1 -8

Page 24: Matlab - Startseite TU Ilmenau · 1. Einführung • Was ist MATLAB ? – Das MATLAB-System • Die MATLAB-Dokumentation – Die Online-Hilfe – Direkte Hilfe in der Entwicklungsumgebung

3.6. Gestalt eines Feldes ändern

• Erstellen neuer Felder aus bereits vorhandenen – Bsp.: A= B=[A;2*A]; B=

-2 0 3 -2 0 3 -4 0 6

• Drehen: rot90()

• Vertauschen: fliplr(), flipud(), flipdim()

• Spalte(n) löschen: M(: , n1<:n2>) =[ ]

– Bsp.: B(:,2)=[] B=

-2 3

-4 6

• Zeile(n) löschen: M(m1<:m2>, : ) = [ ]

• Umformen: reshape(Matrix,Dim1,Dim2,…)

• Wiederholung: repmat(Matrix, [m n <p ..>])

• Aneinanderreihen: cat(Dim, M1, M2, M3)

Page 25: Matlab - Startseite TU Ilmenau · 1. Einführung • Was ist MATLAB ? – Das MATLAB-System • Die MATLAB-Dokumentation – Die Online-Hilfe – Direkte Hilfe in der Entwicklungsumgebung

Praktische Übung 1

• Lösen von Übungsblatt 1

Page 26: Matlab - Startseite TU Ilmenau · 1. Einführung • Was ist MATLAB ? – Das MATLAB-System • Die MATLAB-Dokumentation – Die Online-Hilfe – Direkte Hilfe in der Entwicklungsumgebung

3.7. Rechnen mit Feldern

• elementare Algebra beachten (Matrizen):

– Bsp.:

• Vektorrechnung

– Beachten: Zeilen- /Spaltenvektoren

A=[1 2 3] A*B=14 A*B‘=error

B=[1;2;3] B*A= B*A‘=error

1 2 3

4 6 2

9 3 6

A=[1 2 3] A.*B=error A‘.*B=1

B=[1;2;3] B.*A=error 4

A.*B‘ = 9

1 4 9

Page 27: Matlab - Startseite TU Ilmenau · 1. Einführung • Was ist MATLAB ? – Das MATLAB-System • Die MATLAB-Dokumentation – Die Online-Hilfe – Direkte Hilfe in der Entwicklungsumgebung

Praktische Übung 1

• Lösen von Übungsblatt 1

Page 28: Matlab - Startseite TU Ilmenau · 1. Einführung • Was ist MATLAB ? – Das MATLAB-System • Die MATLAB-Dokumentation – Die Online-Hilfe – Direkte Hilfe in der Entwicklungsumgebung

Praktische Übung 2

• Lösen von Übungsblatt 2

Page 29: Matlab - Startseite TU Ilmenau · 1. Einführung • Was ist MATLAB ? – Das MATLAB-System • Die MATLAB-Dokumentation – Die Online-Hilfe – Direkte Hilfe in der Entwicklungsumgebung

4. Grafiken

• Überblick über Plotfunktionen

• Einfache Plotfunktionen

• Drahtgitter und Oberflächenplots

• Visualisierung von Bilddaten

• Editieren von Plots

Page 30: Matlab - Startseite TU Ilmenau · 1. Einführung • Was ist MATLAB ? – Das MATLAB-System • Die MATLAB-Dokumentation – Die Online-Hilfe – Direkte Hilfe in der Entwicklungsumgebung

4.1 Überblick über Plotfunktionen

• Arten der Plotfunktionen:

– 2D/3D-Plots

– Typische Präsentationsgrafiken

• Darstellung der Daten:

– Linienstil, Marker, Achsenskalierung, Colormap

– Blickwinkel, Hintergrund Beleuchtung, Schattierung

• Achsenbeschriftung, Legende

• Plotte funktioniert wie eine „state-machine“.

Kommandos werden auf gerade aktive „figure“

angewendet

Page 31: Matlab - Startseite TU Ilmenau · 1. Einführung • Was ist MATLAB ? – Das MATLAB-System • Die MATLAB-Dokumentation – Die Online-Hilfe – Direkte Hilfe in der Entwicklungsumgebung

4.2 Einfache Plotfunktionen

• 2D-Plots:

– plot(<x>,<f(x)>,…)

• semilogy,semilogx

loglog, plotyy

• 3D-Plots:

– plot3(<x>,<y>,<z>,

…)

– Bsp.: Helix

t =

0:pi/50:10*pi;

plot3(sin(t),co

s(t),t)

Page 32: Matlab - Startseite TU Ilmenau · 1. Einführung • Was ist MATLAB ? – Das MATLAB-System • Die MATLAB-Dokumentation – Die Online-Hilfe – Direkte Hilfe in der Entwicklungsumgebung

4.3 Drahtgitter und Oberflächenplots

• 3D-Plots

– mesh(<x>,<y>,<z>,…)

– meshc, …

– Bsp.: [x y] = meshgrid(0:pi/16:2*pi,

0:pi/16:2*pi);

z=cos(x)+sin(y);

mesh(x,y,z);

– surf(<x>,<y>,<z>,…)

• surfc, …

– contour

• contour3, …

Page 33: Matlab - Startseite TU Ilmenau · 1. Einführung • Was ist MATLAB ? – Das MATLAB-System • Die MATLAB-Dokumentation – Die Online-Hilfe – Direkte Hilfe in der Entwicklungsumgebung

4.4. Visualisierung von Bilddaten

• image (Matlab-Built-In-

Function)

• imshow (Image-Toolbox)

– Bsp.:

A=[1 1 1 1 0 0 … ;

0 0 0 0 1 1 … ]

imshow(A,[]);

Page 34: Matlab - Startseite TU Ilmenau · 1. Einführung • Was ist MATLAB ? – Das MATLAB-System • Die MATLAB-Dokumentation – Die Online-Hilfe – Direkte Hilfe in der Entwicklungsumgebung

4.5. Editieren von Plots

• Umfangreiche Editierfunktionen im Property-Editor

– Definitions- und Wertebereich, Skalierung

– Linienfarbe, Marker

– Einbinden weiterer Datensätze

– Datensatzbrowser, beschreibende Texte, Hilfslinien

• Erstellte Plots können gespeichert werden

– Datensätze

– Eigenschaften

Page 35: Matlab - Startseite TU Ilmenau · 1. Einführung • Was ist MATLAB ? – Das MATLAB-System • Die MATLAB-Dokumentation – Die Online-Hilfe – Direkte Hilfe in der Entwicklungsumgebung

4.5. Editieren von Plots

• Plot Objects

• Lineseries (plot, plot3)

• line()

• Surfaceplot (surf, mesh) …

• Annotation Objects

Page 36: Matlab - Startseite TU Ilmenau · 1. Einführung • Was ist MATLAB ? – Das MATLAB-System • Die MATLAB-Dokumentation – Die Online-Hilfe – Direkte Hilfe in der Entwicklungsumgebung

4.5. Editieren von Plots

Manipulation über Object Handles

• Aktives Objekt

– Figure : gcf

• H = figure()

– Axes: gca

Manipulation von Objekteigenschaften

• set(H,'PropertyName',PropertyValue,...)

• get(H), get(H,'PropertyName')

• H =

findobj('PropertyName',PropertyValue,...)

Page 37: Matlab - Startseite TU Ilmenau · 1. Einführung • Was ist MATLAB ? – Das MATLAB-System • Die MATLAB-Dokumentation – Die Online-Hilfe – Direkte Hilfe in der Entwicklungsumgebung

Praktische Übung 3

• Lösen von Übungsblatt 3

Page 38: Matlab - Startseite TU Ilmenau · 1. Einführung • Was ist MATLAB ? – Das MATLAB-System • Die MATLAB-Dokumentation – Die Online-Hilfe – Direkte Hilfe in der Entwicklungsumgebung

5. Programmierung

• Flußkontrolle

• Skripte und Funktionen

Page 39: Matlab - Startseite TU Ilmenau · 1. Einführung • Was ist MATLAB ? – Das MATLAB-System • Die MATLAB-Dokumentation – Die Online-Hilfe – Direkte Hilfe in der Entwicklungsumgebung

5.1 Flußkontrolle

• Allgemein: – zur Wiederholung gleicher Vorgänge

– Zur bedingten Ausführung von Programmteilen

• Verzweigungen: – if, elseif, else und end

– switch, case, otherwise und end

• Schleifen: (LOOPs are EVIL – nicht mehr 2014!) – for, break und end

– while, break und end

Page 40: Matlab - Startseite TU Ilmenau · 1. Einführung • Was ist MATLAB ? – Das MATLAB-System • Die MATLAB-Dokumentation – Die Online-Hilfe – Direkte Hilfe in der Entwicklungsumgebung

5.1.1. Verzweigungen

if <Bedingung>

<Anweisungsblock>

else

if <bedingung>

<Anweisungsblock>

else

<Anweisungsblock>

end

end

- 0 und [] werden als „false“ gewertet

- NaN und komplexe Zahlen sind nicht zugelassen

- Inf wird als „true“ gewertet

Page 41: Matlab - Startseite TU Ilmenau · 1. Einführung • Was ist MATLAB ? – Das MATLAB-System • Die MATLAB-Dokumentation – Die Online-Hilfe – Direkte Hilfe in der Entwicklungsumgebung

5.1.2.Fallunterscheidungen

switch <Variable>

case <Wert1>

<Anweisungen>

case <Wert2>

<Anweisungen>

otherwise

<default-Anweisung>

end

- In Matlab wird nur der erste Anweisungsblock, dessen Fallangabe zutrifft ausgeführt

Page 42: Matlab - Startseite TU Ilmenau · 1. Einführung • Was ist MATLAB ? – Das MATLAB-System • Die MATLAB-Dokumentation – Die Online-Hilfe – Direkte Hilfe in der Entwicklungsumgebung

5.1.3 Zählschleifen

for <Schleifenvariable> = <Bereichsangabe>

Schleifenblock

end

Bereichsangabe:

Anfangswert : Schrittweite : Endwert

Dezimalbrüche sind erlaubt

Page 43: Matlab - Startseite TU Ilmenau · 1. Einführung • Was ist MATLAB ? – Das MATLAB-System • Die MATLAB-Dokumentation – Die Online-Hilfe – Direkte Hilfe in der Entwicklungsumgebung

5.1.4. While-Schleifen

• while <Schleifenbedingung>

<Schleifenkörper>

end

• Bedingung wird vor jedem Durchlauf geprüft

– Wert der Schleifenbedingung muss im Schleifenkörper

beeinflusst werden

Page 44: Matlab - Startseite TU Ilmenau · 1. Einführung • Was ist MATLAB ? – Das MATLAB-System • Die MATLAB-Dokumentation – Die Online-Hilfe – Direkte Hilfe in der Entwicklungsumgebung

5.2 Skripte und Funktionen (1/2)

• Editor/Debugger – M-Files

• Unterscheidung zwischen Skripten und Funktionen

– Skripte

• Folge von Anweisungen

• Keine Parameterübergabe bzw. Rückgabewert

– Funktionen

• Parameterübergabe

• Liefert als Rückgabewert Ergebnis

• Dienen als Erweiterung des Funktionsvorrates

Page 45: Matlab - Startseite TU Ilmenau · 1. Einführung • Was ist MATLAB ? – Das MATLAB-System • Die MATLAB-Dokumentation – Die Online-Hilfe – Direkte Hilfe in der Entwicklungsumgebung

5.2 Skripte und Funktionen (2/2)

• Form einer Funktion:

function [rückgabewerte]=FName(<Argumentliste>)

% <Helptext Start>

% <0 bis n Zeilen Help Text>

<Funktionskörper in dem insbesondere der

Funktionswert festgelegt wird.>

rückgabewert= …;

Page 46: Matlab - Startseite TU Ilmenau · 1. Einführung • Was ist MATLAB ? – Das MATLAB-System • Die MATLAB-Dokumentation – Die Online-Hilfe – Direkte Hilfe in der Entwicklungsumgebung

Praktische Übung 4

• Lösen von Übungsblatt 4

Page 47: Matlab - Startseite TU Ilmenau · 1. Einführung • Was ist MATLAB ? – Das MATLAB-System • Die MATLAB-Dokumentation – Die Online-Hilfe – Direkte Hilfe in der Entwicklungsumgebung

Literaturhinweise

• MATLAB-Tutorials / Matlabhilfe

• C. Überhuber, S. Katzenbeisser, D. Praetorius, „MATLAB 7: eine

Einführung“, Springer 2005

79 INF ST 601 M36 U22 M43 – ISBN: 3-211-21137-3

• F. Grupp, F. Grupp, „MATLAB 7 für Ingenieure“, Oldenburg 2004

79 INF ST 601 M36 G892 – ISBN: 3-486-27584-4

• W. Schweizer, „Matlab kompakt“, Oldenburg 2005

79 INF ST 601 M36 S413 – ISBN: 3-486-57758-1