56
Dipl.-Inf. (FH) Patrick Rogge Seite 1 MATLAB Onlinevorlesung

MATLAB Onlinevorlesung - htw-mechlab.dehtw-mechlab.de/MATLABOnlineVorlesung/Skript.pdf · Dipl.-Inf. (FH) Patrick Rogge Seite 3 Ziel Erlernen von grundlegenden Kenntnissen im Umgang

Embed Size (px)

Citation preview

Page 1: MATLAB Onlinevorlesung - htw-mechlab.dehtw-mechlab.de/MATLABOnlineVorlesung/Skript.pdf · Dipl.-Inf. (FH) Patrick Rogge Seite 3 Ziel Erlernen von grundlegenden Kenntnissen im Umgang

Dipl.-Inf. (FH) Patrick Rogge Seite 1

MATLAB Onlinevorlesung

Page 2: MATLAB Onlinevorlesung - htw-mechlab.dehtw-mechlab.de/MATLABOnlineVorlesung/Skript.pdf · Dipl.-Inf. (FH) Patrick Rogge Seite 3 Ziel Erlernen von grundlegenden Kenntnissen im Umgang

Dipl.-Inf. (FH) Patrick Rogge Seite 2

Dipl.Inf. (FH) Patrick Rogge

Schnorrstraße 56

01069 Dresden

E-Mail: [email protected]

Telefon: 0351 / 462-2389

Internet: www.htw-mechlab.de

MATLAB Onlinevorlesung

Page 3: MATLAB Onlinevorlesung - htw-mechlab.dehtw-mechlab.de/MATLABOnlineVorlesung/Skript.pdf · Dipl.-Inf. (FH) Patrick Rogge Seite 3 Ziel Erlernen von grundlegenden Kenntnissen im Umgang

Dipl.-Inf. (FH) Patrick Rogge Seite 3

Ziel

Erlernen von grundlegenden Kenntnissen im Umgang mit MATLAB

Erste Erfahrungen mit den Programmierung in MATLAB

Ablauf

1. Erarbeiten der einzelnen Lektionen bis zur KW 49 (Ende November)

2. Treffen für ein Kurzpraktikum im Raum Z302 zur selbstständigen

Bearbeitung einer zweiten Praktikumsaufgaben (Termin wird in der

Vorlesung vereinbart)

1.0 Ziel und Ablauf des Kurses

1. Allgemeines und Einführung in MATLAB

Page 4: MATLAB Onlinevorlesung - htw-mechlab.dehtw-mechlab.de/MATLABOnlineVorlesung/Skript.pdf · Dipl.-Inf. (FH) Patrick Rogge Seite 3 Ziel Erlernen von grundlegenden Kenntnissen im Umgang

Dipl.-Inf. (FH) Patrick Rogge Seite 4

1. Allgemeines und Einführung in MATLAB 1.1 Einführung in MATLAB

1.1.1 Was ist MATLAB

1.1.2 Wieso sollten Sie MATLAB kennenlernen

1.1.3 Vorteile von MATLAB

1.2 Erste Schritte mit MATLAB

1.3.1 Benutzeroberfläche

1.3.2 Dokumentation verwenden

1.3.3 Literatur

1.3 Ausblick

2. Dateiarbeit 2.1 Ziel dieser Einheit

2.2 Importfunktionen von MATLAB Daten

2.2.1 csv-Dateien lesen (einfache strukturierte Daten)

2.2.2 xls-Dateien lesen (Microsoft Excel)

2.3 Speichern und Lesen von MATLAB Daten

2.3.1 Speichern von Variablen aus Workspace

2.3.2 Laden von Variablen in Workspace

2.4 Ausblick

Inhaltsverzeichnis - MATLAB Onlinevorlesung

MATLAB Onlinevorlesung

Page 5: MATLAB Onlinevorlesung - htw-mechlab.dehtw-mechlab.de/MATLABOnlineVorlesung/Skript.pdf · Dipl.-Inf. (FH) Patrick Rogge Seite 3 Ziel Erlernen von grundlegenden Kenntnissen im Umgang

Dipl.-Inf. (FH) Patrick Rogge Seite 5

3. Zahlen und Matrizen 3.1 Ziel dieser Einheit

3.2 Definition von Zahlen und Matrizen

3.3 Matrix Operationen

3.4 Matrizen, Funktionen und Konstanten

3.4.1 Konstanten

3.4.2 Trigonometrische Funktionen

3.4.3 Einige Standardfunktionen

3.5 Ausblick

4. Diagramme erstellen 4.1 Ziel dieser Einheit

4.2 Der plot Befehl

4.3 Allgemeines zu Diagrammen

4.3.1 Achsenbeschriftung

4.3.2 Legende und Titel

4.4 Diagrammarten

4.4.1 Balkendiagramm

4.4.2 Kreisdiagramm

4.5 Ausblick

Inhaltsverzeichnis - MATLAB Onlinevorlesung

Page 6: MATLAB Onlinevorlesung - htw-mechlab.dehtw-mechlab.de/MATLABOnlineVorlesung/Skript.pdf · Dipl.-Inf. (FH) Patrick Rogge Seite 3 Ziel Erlernen von grundlegenden Kenntnissen im Umgang

Dipl.-Inf. (FH) Patrick Rogge Seite 6

5. Schleifen und Bedingungen 5.1 Ziel dieser Einheit

5.2 Verzweigungen

5.2.1 if - Verzweigung

5.2.2 find Befehl

5.3 Schleifen

5.3.1 for - Schleifen

5.3.2 while – Schleife

5.4 Ausblick

6. Funktionen 6.1 Ziel dieser Einheit

6.2 Eine erste Funktion

6.3 m-file als Funktion

6.4 Unterfunktionen

Inhaltsverzeichnis - MATLAB Onlinevorlesung

Page 7: MATLAB Onlinevorlesung - htw-mechlab.dehtw-mechlab.de/MATLABOnlineVorlesung/Skript.pdf · Dipl.-Inf. (FH) Patrick Rogge Seite 3 Ziel Erlernen von grundlegenden Kenntnissen im Umgang

Dipl.-Inf. (FH) Patrick Rogge Seite 7

1.1 Einführung in MATLAB 1.1.1 Was ist MATLAB

1.1.2 Wieso sollten Sie MATLAB kennenlernen

1.1.3 Vorteile von MATLAB

1.2 Erste Schritte mit MATLAB 1.2.1 Benutzeroberfläche

1.2.2 Dokumentation verwenden

1.2.3 Literatur

1.3 Ausblick

1. Allgemeines und Einführung in MATLAB

1. Allgemeines und Einführung in MATLAB

Page 8: MATLAB Onlinevorlesung - htw-mechlab.dehtw-mechlab.de/MATLABOnlineVorlesung/Skript.pdf · Dipl.-Inf. (FH) Patrick Rogge Seite 3 Ziel Erlernen von grundlegenden Kenntnissen im Umgang

Dipl.-Inf. (FH) Patrick Rogge Seite 8

MATLAB ist ein kommerzielles Softwarepaket zur Lösung

mathematischer Probleme und zur grafischen Darstellung der

Ergebnisse

Matlab ist primär für numerische Berechnungen mithilfe

von Matrizen ausgelegt, woher sich auch der Name ableitet: MATrix

LABoratory.

Wird vertrieben durch die Firma MathWorks

Studentenlizenzen unter:

http://www.mathworks.de/academia/student_version/index.html

1.1.1 Was ist MATLAB

1. Allgemeines und Einführung in MATLAB

Page 9: MATLAB Onlinevorlesung - htw-mechlab.dehtw-mechlab.de/MATLABOnlineVorlesung/Skript.pdf · Dipl.-Inf. (FH) Patrick Rogge Seite 3 Ziel Erlernen von grundlegenden Kenntnissen im Umgang

Dipl.-Inf. (FH) Patrick Rogge Seite 9

In der Industrie verwendet man MATLAB, um einfache

mathematische Probleme numerisch zu lösen

Im Bereich der mathematischen Software-Entwicklung (Industrie und

Forschung) wird MATLAB als Entwicklungsumgebung verwendet,

um dann numerische Codes, die z.B. in C geschrieben werden, zu

testen und zu verbessern

Es gibt bereits heute sehr viele Zusatzbausteine (Toolboxen) für

MATLAB, um komplexe Aufgaben einfach zu lösen

1.1.2 Wieso sollten Sie MATLAB kennenlernen

1. Allgemeines und Einführung in MATLAB

Page 10: MATLAB Onlinevorlesung - htw-mechlab.dehtw-mechlab.de/MATLABOnlineVorlesung/Skript.pdf · Dipl.-Inf. (FH) Patrick Rogge Seite 3 Ziel Erlernen von grundlegenden Kenntnissen im Umgang

Dipl.-Inf. (FH) Patrick Rogge Seite 10

Einfaches Programmieren

Automatische Speicherverwaltung

Automatische Typkonvertierung

Detaillierte Fehlermeldungen

Hohe Qualität der implementierten Routinen

Open Source vieler Routinen

Vielfältige Möglichkeiten der Visualisierung von Daten

Einfaches Einlesen von Daten

Routinen für dünnbesetzte Matrizen

1.1.3 Vorteile von MATLAB

1. Allgemeines und Einführung in MATLAB

Page 11: MATLAB Onlinevorlesung - htw-mechlab.dehtw-mechlab.de/MATLABOnlineVorlesung/Skript.pdf · Dipl.-Inf. (FH) Patrick Rogge Seite 3 Ziel Erlernen von grundlegenden Kenntnissen im Umgang

Dipl.-Inf. (FH) Patrick Rogge Seite 11

1.2.1 Benutzeroberfläche

1. Allgemeines und Einführung in MATLAB

Kommandoverlauf Kommandofenster

Aktuelles Arbeitsverzeichnis

Workspace

Array Editor Menü

Page 12: MATLAB Onlinevorlesung - htw-mechlab.dehtw-mechlab.de/MATLABOnlineVorlesung/Skript.pdf · Dipl.-Inf. (FH) Patrick Rogge Seite 3 Ziel Erlernen von grundlegenden Kenntnissen im Umgang

Dipl.-Inf. (FH) Patrick Rogge Seite 12

Aufruf über F1, über Menü „Help -> MATLAB Help“ oder Eingabe

von doc in die Kommandozeile

Suche über Kategorien (Contents)

Suche über Index nach Funktionsnamen

Freie Suche

1.2.2 Dokumentation verwenden

1. Allgemeines und Einführung in MATLAB

Page 13: MATLAB Onlinevorlesung - htw-mechlab.dehtw-mechlab.de/MATLABOnlineVorlesung/Skript.pdf · Dipl.-Inf. (FH) Patrick Rogge Seite 3 Ziel Erlernen von grundlegenden Kenntnissen im Umgang

Dipl.-Inf. (FH) Patrick Rogge Seite 13

[1] „Einführung in MATLAB/Simulink“; Bosl, Angelika; 2012; Carl Hanser Verlag GmbH &

Co. KG

http://www.hanser-elibrary.com/doi/book/10.3139/9783446428942

[2] „MATLAB 7 Eine Einführung“; Christoph Überhuber, Stefan Katzenbeisser und Dirk

Praetorius

http://www.springerlink.com/content/q41041/?MUD=MP

[3] „MATLAB und Simulink“; Ottmar Beucher; 2008; Addison Wesley in Pearson

Education Deutschland

http://swbplus.bsz-bw.de/bsz281901635cov.htm

1.2.3 Literatur

1. Allgemeines und Einführung in MATLAB

Page 14: MATLAB Onlinevorlesung - htw-mechlab.dehtw-mechlab.de/MATLABOnlineVorlesung/Skript.pdf · Dipl.-Inf. (FH) Patrick Rogge Seite 3 Ziel Erlernen von grundlegenden Kenntnissen im Umgang

Dipl.-Inf. (FH) Patrick Rogge Seite 14

Importfunktionen von MATLAB verwenden

Speichern und Lesen von Variablen und Dateien

1.3 Ausblick

1. Allgemeines und Einführung in MATLAB

Page 15: MATLAB Onlinevorlesung - htw-mechlab.dehtw-mechlab.de/MATLABOnlineVorlesung/Skript.pdf · Dipl.-Inf. (FH) Patrick Rogge Seite 3 Ziel Erlernen von grundlegenden Kenntnissen im Umgang

Dipl.-Inf. (FH) Patrick Rogge Seite 15

2.1 Ziel dieser Einheit

2.2 Importfunktionen von MATLAB Daten 2.2.1 csv-Dateien lesen (einfache strukturierte Daten)

2.2.2 xls-Dateien lesen (Microsoft Excel)

2.3 Speichern und Lesen von MATLAB Daten 2.3.1 Speichern von Variablen aus Workspace

2.3.2 Laden von Variablen in Workspace

2.4 Ausblick

2. Dateiarbeit

2. Dateiarbeit

Page 16: MATLAB Onlinevorlesung - htw-mechlab.dehtw-mechlab.de/MATLABOnlineVorlesung/Skript.pdf · Dipl.-Inf. (FH) Patrick Rogge Seite 3 Ziel Erlernen von grundlegenden Kenntnissen im Umgang

Dipl.-Inf. (FH) Patrick Rogge Seite 16

Sie können ….

.csv Dateien in den Workspace einlesen

.xlc Dateien in den Workspace einlesen

Variablen aus dem Workspace in eine .mat Datei abspeichern

Variable aus einer .mat Datei in den Workspace laden

2.1 Ziel dieser Einheit

2. Dateiarbeit

Page 17: MATLAB Onlinevorlesung - htw-mechlab.dehtw-mechlab.de/MATLABOnlineVorlesung/Skript.pdf · Dipl.-Inf. (FH) Patrick Rogge Seite 3 Ziel Erlernen von grundlegenden Kenntnissen im Umgang

Dipl.-Inf. (FH) Patrick Rogge Seite 17

Einlesen einer .csv Datei in aktuellen Workspace

|| >> M = csvread(‘dateiname‘);

Einlesen bestimmter Zeilen und Spalten

|| >> M = csvread(‘dateiname‘', row, col);

2.2.1 csv-Dateien lesen

2. Dateiarbeit

Page 18: MATLAB Onlinevorlesung - htw-mechlab.dehtw-mechlab.de/MATLABOnlineVorlesung/Skript.pdf · Dipl.-Inf. (FH) Patrick Rogge Seite 3 Ziel Erlernen von grundlegenden Kenntnissen im Umgang

Dipl.-Inf. (FH) Patrick Rogge Seite 18

2.2.2 xls-Dateien lesen

2. Dateiarbeit

Einlesen einer .xls Datei in aktuellen Workspace

|| >> M = xlsread(‘dateiname.xls‘);

Einlesen einer ganzen Spalten

|| >> columnB = xlsread(' dateiname.xls ', 'B:B')

Einlesen eines bestimmten Bereiches

|| >> subsetA = xlsread(' dateiname.xls ', ' B2:C3 ')

Page 19: MATLAB Onlinevorlesung - htw-mechlab.dehtw-mechlab.de/MATLABOnlineVorlesung/Skript.pdf · Dipl.-Inf. (FH) Patrick Rogge Seite 3 Ziel Erlernen von grundlegenden Kenntnissen im Umgang

Dipl.-Inf. (FH) Patrick Rogge Seite 19

Speichern von allen Variablen aus aktuellen Workspace in eine .mat

Datei

|| >> save(‘datei.mat‘);

Speichern einzelner Variablen aus aktuellen Workspace in eine .mat

Datei

|| >> save(‘datei.mat ', 'var1', 'var2', ...);

2.3.1 Speichern von Variablen aus Workspace

2. Dateiarbeit

Page 20: MATLAB Onlinevorlesung - htw-mechlab.dehtw-mechlab.de/MATLABOnlineVorlesung/Skript.pdf · Dipl.-Inf. (FH) Patrick Rogge Seite 3 Ziel Erlernen von grundlegenden Kenntnissen im Umgang

Dipl.-Inf. (FH) Patrick Rogge Seite 20

Laden von Variablen aus einer .mat Datei in den aktuellen

Workspace mit

|| >> load dateiname;

Lade einzelner Variablen (X Y Z) aus .mat Datei in den aktuellen

Workspace mit

|| >> load dateiname X Y Z;

2.3.2 Laden von Variablen in Workspace

2. Dateiarbeit

Page 21: MATLAB Onlinevorlesung - htw-mechlab.dehtw-mechlab.de/MATLABOnlineVorlesung/Skript.pdf · Dipl.-Inf. (FH) Patrick Rogge Seite 3 Ziel Erlernen von grundlegenden Kenntnissen im Umgang

Dipl.-Inf. (FH) Patrick Rogge Seite 21

Definition von Zahlen

Matrizen erstellen und Operationen durchführen

2.4 Ausblick

2. Dateiarbeit

Page 22: MATLAB Onlinevorlesung - htw-mechlab.dehtw-mechlab.de/MATLABOnlineVorlesung/Skript.pdf · Dipl.-Inf. (FH) Patrick Rogge Seite 3 Ziel Erlernen von grundlegenden Kenntnissen im Umgang

Dipl.-Inf. (FH) Patrick Rogge Seite 22

3.1 Ziel dieser Einheit

3.2 Definition von Zahlen und Matrizen

3.3 Matrix Operationen

3.4 Matrizen, Funktionen und Konstanten 3.4.1 Konstanten

3.4.2 Trigonometrische Funktionen

3.4.3 Einige Standardfunktionen

3.5 Ausblick

3. Zahlen und Matrizen

3. Zahlen und Matrizen

Page 23: MATLAB Onlinevorlesung - htw-mechlab.dehtw-mechlab.de/MATLABOnlineVorlesung/Skript.pdf · Dipl.-Inf. (FH) Patrick Rogge Seite 3 Ziel Erlernen von grundlegenden Kenntnissen im Umgang

Dipl.-Inf. (FH) Patrick Rogge Seite 23

3.1 Ziel dieser Einheit

3. Zahlen und Matrizen

Sie können ….

Sie kennen Zahlen Datentyp und können diese verwenden

Matrizen anlegen

Einfache Mathematische Operationen mit Matrix durchführen

Konstanten benutzen

Trigonometrische Funktionen wie sin oder cos verwenden

Standard-Funktionen wie Absolutwert benutzen

Page 24: MATLAB Onlinevorlesung - htw-mechlab.dehtw-mechlab.de/MATLABOnlineVorlesung/Skript.pdf · Dipl.-Inf. (FH) Patrick Rogge Seite 3 Ziel Erlernen von grundlegenden Kenntnissen im Umgang

Dipl.-Inf. (FH) Patrick Rogge Seite 24

Da MATLAB automatisch Datentypen anpasst, benötigt man

gewöhnlich nicht mehr als die grundlegenden Datentypen: matrix,

string, cell, struct.

Jede Zahl wird als eine 1 x 1 Matrix,

Jeder Zeilenvektor der Länge n als eine 1 x n Matrix und

Jeder Spaltenvektor der Länge n als eine n x 1 Matrix interpretiert

Eine umfassende Übersicht aller Datentypen erhält man mit

|| >> help datatypes

|| >>

Im Folgenden werden wir uns mit Zahlen und mit Matrizen

beschäftigen

3.2 Definition von Zahlen und Matrizen

3. Zahlen und Matrizen

Page 25: MATLAB Onlinevorlesung - htw-mechlab.dehtw-mechlab.de/MATLABOnlineVorlesung/Skript.pdf · Dipl.-Inf. (FH) Patrick Rogge Seite 3 Ziel Erlernen von grundlegenden Kenntnissen im Umgang

Dipl.-Inf. (FH) Patrick Rogge Seite 25

Anlegen einer Variablen mit Wertzuweisung für spätere Verwendung

|| >> a = 1; oder

|| >> b = 3.1; oder

|| >> c = -6.1;

Variablen werden im Workspace abgelegt

= Zuweisung: Im Gegensatz zu einigen Programmiersprachen

verwendet MATLAB ein einfaches Gleichheitszeichen

als Zuweisungsoperator

3.2 Definition von Zahlen und Matrizen

3. Zahlen und Matrizen

Page 26: MATLAB Onlinevorlesung - htw-mechlab.dehtw-mechlab.de/MATLABOnlineVorlesung/Skript.pdf · Dipl.-Inf. (FH) Patrick Rogge Seite 3 Ziel Erlernen von grundlegenden Kenntnissen im Umgang

Dipl.-Inf. (FH) Patrick Rogge Seite 26

Anlegen einer 3x3 Matrix a mit Werten

|| >> a = [1, 2, 3; 4, 5, 6; 7, 8, 9;];

[ ] eckige Klammern/Matrix: Ein Paar eckiger Klammern definiert

eine Matrix. Die Größe der Matrix wird automatisch anhand der

Einträge zwischen den eckigen Klammern ermittelt.

Kommas "," trennen zwei Einträge, die in der gleichen Zeile stehen,

und Semikolons ";" trennen zwei Zeilen voneinander.

3.2 Definition von Zahlen und Matrizen

3. Zahlen und Matrizen

Page 27: MATLAB Onlinevorlesung - htw-mechlab.dehtw-mechlab.de/MATLABOnlineVorlesung/Skript.pdf · Dipl.-Inf. (FH) Patrick Rogge Seite 3 Ziel Erlernen von grundlegenden Kenntnissen im Umgang

Dipl.-Inf. (FH) Patrick Rogge Seite 27

Zum anschauen des Inhaltes der Variable a wollen, geben wir

einfach den Namen ein und drücken [Return].

|| >> a

|| ans =

|| 1 2 3

|| 4 5 6

|| 7 8 9

Einzelner Wert der Matrix a kann über Variablenname(Zeile,Spalte)

angezeigt werden, z.B.:

|| >> a(1,1)

|| ans =

|| 1

3.2 Definition von Zahlen und Matrizen

3. Zahlen und Matrizen

Page 28: MATLAB Onlinevorlesung - htw-mechlab.dehtw-mechlab.de/MATLABOnlineVorlesung/Skript.pdf · Dipl.-Inf. (FH) Patrick Rogge Seite 3 Ziel Erlernen von grundlegenden Kenntnissen im Umgang

Dipl.-Inf. (FH) Patrick Rogge Seite 28

Der Zugriff auf einzelne Matrixelemente kann über

Variablenname(Zeile,Spalte) erfolgen, z.B.:

|| >> a(1,1) = 5;

Oder

|| >> a(2,3) = -12;

Man kann auch auf einen ganzen Vektor mit dem „:“ zugreifen

|| >> b = a(:,2);

3.2 Definition von Zahlen und Matrizen

3. Zahlen und Matrizen

Page 29: MATLAB Onlinevorlesung - htw-mechlab.dehtw-mechlab.de/MATLABOnlineVorlesung/Skript.pdf · Dipl.-Inf. (FH) Patrick Rogge Seite 3 Ziel Erlernen von grundlegenden Kenntnissen im Umgang

Dipl.-Inf. (FH) Patrick Rogge Seite 29

Löschen der Matrix a mit

|| >> clear a;

Vektoren werden in MATLAB als Matrizen interpretiert

|| >> b = [1;2;3];

Weitere Datentypen sind Zeichenketten (string)

|| >> c = ‘hello world‘;

3.2 Definition von Zahlen und Matrizen

3. Zahlen und Matrizen

Page 30: MATLAB Onlinevorlesung - htw-mechlab.dehtw-mechlab.de/MATLABOnlineVorlesung/Skript.pdf · Dipl.-Inf. (FH) Patrick Rogge Seite 3 Ziel Erlernen von grundlegenden Kenntnissen im Umgang

Dipl.-Inf. (FH) Patrick Rogge Seite 30

Unitäre Operatoren

Negation (negiert die Werte der Matrix a)

|| >> b = -a;

Transposition (transponiert Matrix a)

|| >> b = a!;

Binäre Operatoren wie aus der linearen Algebra

|| >> b = a + a;

|| >> d = a - b;

Die Binäre Operatoren sind ebenfalls auf Zahlen anwendbar

3.3 Matrix Operationen

3. Zahlen und Matrizen

Page 31: MATLAB Onlinevorlesung - htw-mechlab.dehtw-mechlab.de/MATLABOnlineVorlesung/Skript.pdf · Dipl.-Inf. (FH) Patrick Rogge Seite 3 Ziel Erlernen von grundlegenden Kenntnissen im Umgang

Dipl.-Inf. (FH) Patrick Rogge Seite 31

Einige wichtige Konstanten wie pi sind in MATLAB bereits definiert

|| >> pi

|| ans =

|| 3.1416

Oder e

|| >> exp(1)

|| ans =

|| 2.7182

3.4.1 Konstanten

3. Zahlen und Matrizen

Page 32: MATLAB Onlinevorlesung - htw-mechlab.dehtw-mechlab.de/MATLABOnlineVorlesung/Skript.pdf · Dipl.-Inf. (FH) Patrick Rogge Seite 3 Ziel Erlernen von grundlegenden Kenntnissen im Umgang

Dipl.-Inf. (FH) Patrick Rogge Seite 32

MATLAB hat trigonometrische Funktionen, die bzgl. des Bogenmaes

rechnen: sin, cos, tan, cot, …

|| >> sin(pi)

|| >> 3e12 - 3*10 b12

|| >> sin(3e12*pi)

|| >> sind(3e12*180)

|| >>

3.4.2 Trigonometrische Funktionen

3. Zahlen und Matrizen

Page 33: MATLAB Onlinevorlesung - htw-mechlab.dehtw-mechlab.de/MATLABOnlineVorlesung/Skript.pdf · Dipl.-Inf. (FH) Patrick Rogge Seite 3 Ziel Erlernen von grundlegenden Kenntnissen im Umgang

Dipl.-Inf. (FH) Patrick Rogge Seite 33

Kurz einige Verfahren zu Standard-Funktionen

exp(a) Exponentialfunktion

log(a) natürlicher Logarithmus

log2(a) Logarithmus zur Basis 2

log10(a) dekadischer Logarithmus

real(a) Realteil

imag(a) Imaginärteil

abs(a) Absolutwert, Betrag

sign(a) Vorzeichen, Richtung

norm(a) 2-(Matrix-/Vektor-)Norm

norm(a; p) p-(Matrix-/Vektor-)Norm

3.4.3 Einige Standardfunktionen

3. Zahlen und Matrizen

Page 34: MATLAB Onlinevorlesung - htw-mechlab.dehtw-mechlab.de/MATLABOnlineVorlesung/Skript.pdf · Dipl.-Inf. (FH) Patrick Rogge Seite 3 Ziel Erlernen von grundlegenden Kenntnissen im Umgang

Dipl.-Inf. (FH) Patrick Rogge Seite 34

Diagramme zeichnen, beschriften und Legenden erstellen

3.5 Ausblick

3. Zahlen und Matrizen

Page 35: MATLAB Onlinevorlesung - htw-mechlab.dehtw-mechlab.de/MATLABOnlineVorlesung/Skript.pdf · Dipl.-Inf. (FH) Patrick Rogge Seite 3 Ziel Erlernen von grundlegenden Kenntnissen im Umgang

Dipl.-Inf. (FH) Patrick Rogge Seite 35

4.1 Ziel dieser Einheit

4.2 Der plot Befehl

4.3 Allgemeines zu Diagrammen 4.3.1 Achsenbeschriftung

4.3.2 Legende und Titel

4.4 Diagrammarten 4.4.1 Balkendiagramm

4.4.2 Kreisdiagramm

4.5 Ausblick

4. Diagramme erstellen

4. Diagramme erstellen

Page 36: MATLAB Onlinevorlesung - htw-mechlab.dehtw-mechlab.de/MATLABOnlineVorlesung/Skript.pdf · Dipl.-Inf. (FH) Patrick Rogge Seite 3 Ziel Erlernen von grundlegenden Kenntnissen im Umgang

Dipl.-Inf. (FH) Patrick Rogge Seite 36

4.1 Ziel dieser Einheit

4. Diagramme erstellen

Sie können ….

Den plot Befehl anwenden

Diagramme skalieren, beschriften und Legenden erstellen

Verschiedene Diagrammarten anwenden

Page 37: MATLAB Onlinevorlesung - htw-mechlab.dehtw-mechlab.de/MATLABOnlineVorlesung/Skript.pdf · Dipl.-Inf. (FH) Patrick Rogge Seite 3 Ziel Erlernen von grundlegenden Kenntnissen im Umgang

Dipl.-Inf. (FH) Patrick Rogge Seite 37

Der Aufruf von plot öffnet ein eigenes Graphikfenster

|| >> x = -pi:.1:pi;

|| >> y = sin(x);

|| >> plot(x,y)

4.2 Der plot Befehl

4. Diagramme erstellen

Page 38: MATLAB Onlinevorlesung - htw-mechlab.dehtw-mechlab.de/MATLABOnlineVorlesung/Skript.pdf · Dipl.-Inf. (FH) Patrick Rogge Seite 3 Ziel Erlernen von grundlegenden Kenntnissen im Umgang

Dipl.-Inf. (FH) Patrick Rogge Seite 38

Die Beschriftung der Achsen eines Diagrammes erfolgt mit den

Befehler xlabel(‘‘) und ylabel(‘‘)

|| >> x = -pi:.1:pi;

|| >> y = sin(x);

|| >> plot(x,y)

|| >> xlabel('x');

|| >> ylabel('y');

4.3.1 Achsenbeschriftung

4. Diagramme erstellen

Page 39: MATLAB Onlinevorlesung - htw-mechlab.dehtw-mechlab.de/MATLABOnlineVorlesung/Skript.pdf · Dipl.-Inf. (FH) Patrick Rogge Seite 3 Ziel Erlernen von grundlegenden Kenntnissen im Umgang

Dipl.-Inf. (FH) Patrick Rogge Seite 39

Die Beschriftung der Achsen eines Diagrammes erfolgt mit den

Befehl xlabel(‘‘) und ylabel(‘‘)

|| >> x = -pi:.1:pi;

|| >> y = sin(x);

|| >> plot(x,y)

|| >> xlabel('x');

|| >> ylabel('y');

|| >> legend('Sinus');

|| >> title('Sinus - Kurve');

4.3.2 Legende und Titel

4. Diagramme erstellen

Page 40: MATLAB Onlinevorlesung - htw-mechlab.dehtw-mechlab.de/MATLABOnlineVorlesung/Skript.pdf · Dipl.-Inf. (FH) Patrick Rogge Seite 3 Ziel Erlernen von grundlegenden Kenntnissen im Umgang

Dipl.-Inf. (FH) Patrick Rogge Seite 40

Neben dem Standard plot Befehl gibt es auch noch weitere

Diagrammart in MATLAB, wie z.B. das Balkendiagramm bar

|| >> y = [75.995 91.972 105.711 123.203 131.669 ...

150.697 179.323 203.212 226.505 249.633 281.422];

|| >> bar(y);

4.4.1 Balkendiagramm

4. Diagramme erstellen

Page 41: MATLAB Onlinevorlesung - htw-mechlab.dehtw-mechlab.de/MATLABOnlineVorlesung/Skript.pdf · Dipl.-Inf. (FH) Patrick Rogge Seite 3 Ziel Erlernen von grundlegenden Kenntnissen im Umgang

Dipl.-Inf. (FH) Patrick Rogge Seite 41

Oder das Kreisdiagramm pie

|| >> x = [1 3 0.5 2.5 2];

|| >> explode = [0 1 0 0 0];

|| >> pie(x,explode)

4.4.2 Kreisdiagramm

4. Diagramme erstellen

Page 42: MATLAB Onlinevorlesung - htw-mechlab.dehtw-mechlab.de/MATLABOnlineVorlesung/Skript.pdf · Dipl.-Inf. (FH) Patrick Rogge Seite 3 Ziel Erlernen von grundlegenden Kenntnissen im Umgang

Dipl.-Inf. (FH) Patrick Rogge Seite 42

if-Verzweigung für boolsche Ausdrücke verwenden

Was sind Schleifen und was kann man damit machen

4.5 Ausblick

4. Diagramme erstellen

Page 43: MATLAB Onlinevorlesung - htw-mechlab.dehtw-mechlab.de/MATLABOnlineVorlesung/Skript.pdf · Dipl.-Inf. (FH) Patrick Rogge Seite 3 Ziel Erlernen von grundlegenden Kenntnissen im Umgang

Dipl.-Inf. (FH) Patrick Rogge Seite 43

5.1 Ziel dieser Einheit

5.2 Verzweigungen 5.2.1 if - Verzweigung

5.2.2 find Befehl

5.3 Schleifen 5.3.1 for - Schleifen

5.3.2 while – Schleife

5.4 Ausblick

5. Schleifen und Bedingungen

5. Schleifen und Bedingungen

Page 44: MATLAB Onlinevorlesung - htw-mechlab.dehtw-mechlab.de/MATLABOnlineVorlesung/Skript.pdf · Dipl.-Inf. (FH) Patrick Rogge Seite 3 Ziel Erlernen von grundlegenden Kenntnissen im Umgang

Dipl.-Inf. (FH) Patrick Rogge Seite 44

5.1 Ziel dieser Einheit

5. Schleifen und Bedingungen

Sie können ….

Verzweigungen anwenden

For und while Schleife einsetzen

Page 45: MATLAB Onlinevorlesung - htw-mechlab.dehtw-mechlab.de/MATLABOnlineVorlesung/Skript.pdf · Dipl.-Inf. (FH) Patrick Rogge Seite 3 Ziel Erlernen von grundlegenden Kenntnissen im Umgang

Dipl.-Inf. (FH) Patrick Rogge Seite 45

Der if Befehl wird gefolgt von einer Bedingung und, falls diese noch

ausgewertet werden muss, sollte die Bedingung in einer runden

Klammer stehen

Zwischen dem if Befehl und dem abschließenden end Befehl

können beliebig viele Anweisungen und beliebig viele elseif Befehle

stehen

|| >> if (a > 1)

|| >> disp(‘a ist groesser als 1‘);

|| >> elseif(a > -3 && a < 1)

|| >> (‘a ist groesser als -3 und kleiner als 1‘);

|| >> else

|| >> fprintf(‘a liegt irgendwo anders‘);

|| >> end

5.2.1 if - Verzweigung

5. Schleifen und Bedingungen

Page 46: MATLAB Onlinevorlesung - htw-mechlab.dehtw-mechlab.de/MATLABOnlineVorlesung/Skript.pdf · Dipl.-Inf. (FH) Patrick Rogge Seite 3 Ziel Erlernen von grundlegenden Kenntnissen im Umgang

Dipl.-Inf. (FH) Patrick Rogge Seite 46

Folgende boolsche Funktionen/Operationen stehen zur Verfügung

~a a nicht a

a&&b a und b

a||b a oder b

xor(a, b) a und nicht b oder b und nicht a

Als Vergleichsoperationen stehen zur Verfügung

> Größer

< kleiner

>= größer gleich

<= kleiner gleich

== gleich

5.2.1 if - Verzweigung

5. Schleifen und Bedingungen

Page 47: MATLAB Onlinevorlesung - htw-mechlab.dehtw-mechlab.de/MATLABOnlineVorlesung/Skript.pdf · Dipl.-Inf. (FH) Patrick Rogge Seite 3 Ziel Erlernen von grundlegenden Kenntnissen im Umgang

Dipl.-Inf. (FH) Patrick Rogge Seite 47

• Häufig möchte man nur mit einer Auswahl von Komponenten eines

Vektors oder einer Matrix arbeiten. Um dies einfach zu realisieren,

gibt es die vektorisierte Abfrage find

|| >> X = [1 0 4 -3 0 0 0 8 6];

|| >> find(X > 2)

5.2.2 find Befehl

5. Schleifen und Bedingungen

Page 48: MATLAB Onlinevorlesung - htw-mechlab.dehtw-mechlab.de/MATLABOnlineVorlesung/Skript.pdf · Dipl.-Inf. (FH) Patrick Rogge Seite 3 Ziel Erlernen von grundlegenden Kenntnissen im Umgang

Dipl.-Inf. (FH) Patrick Rogge Seite 48

Dieser Schleifentyp eignet sich, wenn eine bestimmte Anzahl an

Schleifen-Durchläufen benötigt wird

|| >> for i=1:10

|| >> b(i) = i;

|| >> end

|| >> b

5.3.1 for - Schleifen

5. Schleifen und Bedingungen

Page 49: MATLAB Onlinevorlesung - htw-mechlab.dehtw-mechlab.de/MATLABOnlineVorlesung/Skript.pdf · Dipl.-Inf. (FH) Patrick Rogge Seite 3 Ziel Erlernen von grundlegenden Kenntnissen im Umgang

Dipl.-Inf. (FH) Patrick Rogge Seite 49

Hier benutzen wir wieder eine boolsche Bedingung und führen die

Schleife solange aus, bis diese Bedingung nicht mehr erfüllt ist

|| >> i = 1;

|| >> while (i<9.5)

|| >> i = i+pi;

|| >> fprintf(‘i hat jetzt den Wert i = %f‘,i);

|| >> end

5.3.2 while – Schleife

5. Schleifen und Bedingungen

Page 50: MATLAB Onlinevorlesung - htw-mechlab.dehtw-mechlab.de/MATLABOnlineVorlesung/Skript.pdf · Dipl.-Inf. (FH) Patrick Rogge Seite 3 Ziel Erlernen von grundlegenden Kenntnissen im Umgang

Dipl.-Inf. (FH) Patrick Rogge Seite 50

Ein erstes eigenes .m-File

Funktionen anlegen

Funktionsparameter übergeben und Rückgabeparameter

empfangen

5.4 Ausblick

5. Schleifen und Bedingungen

Page 51: MATLAB Onlinevorlesung - htw-mechlab.dehtw-mechlab.de/MATLABOnlineVorlesung/Skript.pdf · Dipl.-Inf. (FH) Patrick Rogge Seite 3 Ziel Erlernen von grundlegenden Kenntnissen im Umgang

Dipl.-Inf. (FH) Patrick Rogge Seite 51

6.1 Ziel dieser Einheit

6.2 Eine erste Funktion

6.3 m-file als Funktion

6.4 Unterfunktionen

6. Funktionen

6. Funktionen

Page 52: MATLAB Onlinevorlesung - htw-mechlab.dehtw-mechlab.de/MATLABOnlineVorlesung/Skript.pdf · Dipl.-Inf. (FH) Patrick Rogge Seite 3 Ziel Erlernen von grundlegenden Kenntnissen im Umgang

Dipl.-Inf. (FH) Patrick Rogge Seite 52

6.1 Ziel dieser Einheit

6. Funktionen

Sie können ….

.m Files anlegen

Funktionen definieren

Funktionsparameter übergeben

Funktionsrückgabewerte definieren

Page 53: MATLAB Onlinevorlesung - htw-mechlab.dehtw-mechlab.de/MATLABOnlineVorlesung/Skript.pdf · Dipl.-Inf. (FH) Patrick Rogge Seite 3 Ziel Erlernen von grundlegenden Kenntnissen im Umgang

Dipl.-Inf. (FH) Patrick Rogge Seite 53

Skripte und Funktionen werden dazu verwendet, größere

Anweisungsabschnitte wiederverwendbar zu machen

Sie erlauben auch eine bessere Behandlung von

Programmierfehlern

Der wesentliche Unterschied zwischen Skripten und Funktionen liegt

in der Verwendung von Variablen

|| >> function [y,x] = plotsin(n);

|| >> x = -pi:.1:pi;

|| >> y = sin(x);

|| >> plot(x,y)

plotsin Funktionsname, n Übergabeparameter, x und y

Rückgabeparameter

6.2 Eine erste Funktion

6. Funktionen

Page 54: MATLAB Onlinevorlesung - htw-mechlab.dehtw-mechlab.de/MATLABOnlineVorlesung/Skript.pdf · Dipl.-Inf. (FH) Patrick Rogge Seite 3 Ziel Erlernen von grundlegenden Kenntnissen im Umgang

Dipl.-Inf. (FH) Patrick Rogge Seite 54

Falls der Editor nicht geöffnet ist, kann man den Editor über das

File-Menü öffnen (File->New->M-File)

Wir geben nun Folgendes im Editor ein

|| >> display(‘Ein erstes Skript’);

|| >> clear

|| >> who

|| >> A = [1; 2; 3; 4; 5; 6]

|| >> who

Speichern dieses Skript(m-File) als Skript1.m

6.3 m-file als Funktion

6. Funktionen

Page 55: MATLAB Onlinevorlesung - htw-mechlab.dehtw-mechlab.de/MATLABOnlineVorlesung/Skript.pdf · Dipl.-Inf. (FH) Patrick Rogge Seite 3 Ziel Erlernen von grundlegenden Kenntnissen im Umgang

Dipl.-Inf. (FH) Patrick Rogge Seite 55

Nun können wir das Skript über das Kommandofenster oder aus

einem anderen Skript herausbenutzen

6.3 m-file als Funktion

6. Funktionen

Page 56: MATLAB Onlinevorlesung - htw-mechlab.dehtw-mechlab.de/MATLABOnlineVorlesung/Skript.pdf · Dipl.-Inf. (FH) Patrick Rogge Seite 3 Ziel Erlernen von grundlegenden Kenntnissen im Umgang

Dipl.-Inf. (FH) Patrick Rogge Seite 56

• In einem M-File, das als Funktion definiert ist, können

weitere Funktionen erklärt werden, aber diese sind nur

lokal verfügbar, außerhalb dieses M-Files sind sie nicht

aufrufbar

|| >> function [y,x] = plotsin(n);

|| >> x = -pi:.1:pi;

|| >> y = sin(x);

|| >> anzeige(x,y);

|| >>

|| >> function [y,x] = anzeige(x,y);

|| >> plot(x,y)

6.4 Unterfunktionen

6. Funktionen