• Keine Ergebnisse gefunden

Mathematik am Computer 4. Übung: Matlab, Teil I

N/A
N/A
Protected

Academic year: 2021

Aktie "Mathematik am Computer 4. Übung: Matlab, Teil I"

Copied!
29
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Mathematik am Computer 4. Übung: Matlab, Teil I

Marcus Grote und Helmut Harbrecht

Universität Basel

18. – 22. Oktober 2021

(2)

Übersicht

1 Grundlegendes Matrizen

Bedienung von Matlab

2 Matlab als Taschenrechner Operationen auf Matrizen

Operationen der Linearen Algebra

3 Matlab als Programmiersprache Skripte und Funktionen

4 Graphische Ausgabe Funktionen zeichnen

(3)

Grundlegendes Matrizen

Definition von Matrizen

Eine lineare AbbbildungΦ :Rn→Rmist eindeutig bestimmt durch die Bilder

c1= Φ(e1), . . . ,cn= Φ(en)

auf der Standardbasis{e1, . . . ,en}.

Schreiben wirc1, . . . ,cnin ein rechteckiges Schema (c1|. . .|cn),

so erhalten wir eineMatrix. Eine Matrix hatmnElemente inmZeilen undnSpalten.

(4)

Grundlegendes Matrizen

Definition von Matrizen

SeiRm×n die Menge derreellen MatrizenmitmZeilen undnSpalten.

Umgekehrt definiert jede MatrixA= (a1|. . .|an)∈Rm×neindeutig eine lineare AbbildungΦ :Rn →Rm durch

ei 7→ai, i =1, . . . ,n.

Beachte:ei sind die Einheitsvektoren inRnundai ∈Rm.

(5)

Grundlegendes Matrizen

Grundrechenarten für Matrizen

DieGrundrechenartenfür Matrizen sind folgendermassen definiert1: Addition, Subtraktion, Multiplikation mit Skalaren elementweise:

A= (aij)m,ni,j=1,B= (bij)m,ni,j=1∈Rm×n:

A±B= (aij ±bij) αA= (αaij)

Definiere die Matrix-Vektor-Multiplikation so, dass fürA∈Rm×n undx∈Rngilt:y=Ax∈Rm:

yi =

n

X

j=1

aijxj,

wobei gilty= (yi)mi=1,x= (xi)ni=1.

1So entsprechen sie den Grundrechenarten für lineare Abbildungen.

(6)

Grundlegendes Matrizen

Grundrechenarten für Matrizen

Matrixmultiplikation2: FürA= (aij)∈Rl×m,B= (bjk)∈Rm×nist

C=AB= (cik)∈Rl×nmitcik =

m

X

j=1

aijbjk.

IstA= (aij)∈Rm×nundb∈Rm so ist Ax=b

ein lineares Gleichungssystem für einen unbekannten Vektorx∈Rn mitmGleichungen undnUnbekannte.

2Sie entspricht der Komposition von linearen Abbildungen.

(7)

Grundlegendes Matrizen

Beispiele

Grundrechenarten für Matrizen

1 2 3 4 5 6

!

3 2 1 0 10 0

!

= −2 0 2

4 −5 6

!

1 2 3 4 5 6

!

1 0 2

= 1·1+2·0+3·2 4·1+5·0+6·2

!

= 7

16

!

1 2 3 4 5 6

!

1 1 0 1 2 0

= 7 3 16 9

!

(8)

Grundlegendes Matrizen

Beispiele

Lineares GleichungssystemAv=b

Das lineare Gleichungssystem

x − y + z = 0

y − z = −24

x + 2z = 0

ist äquivalent zu

1 −1 1

0 1 −1

1 0 2

| {z }

A

 x y z

| {z }

v

=

 0

−24 0

| {z }

b

(9)

Grundlegendes Bedienung von Matlab

Grundlegendes

Matlab Features:

1 Command Windowzum direkten Ausführen von Matlab-Befehlen

2 Command HistoryListe ausgeführter Befehle. Erneutes Ausführen durch Anklicken

3 Current FolderAktuelles Verzeichnis — hier werden selbstprogrammierte Befehle gesucht.

4 WorkspaceListe aller aktuell belegten Variablen

5 Editorzum Schreiben von eigenen Befehlsequenzen (Skripte und Funktionen)

Abbruch:strg+C.

(10)

Grundlegendes Bedienung von Matlab

Beispiel

(11)

Grundlegendes Bedienung von Matlab

Matlab-Bedienung und Hilfe

Aufgrund der grossen Anzahl von Befehlen und weiterer Optionen gibt es Hilfestellungen um sich die volle Funktionalität und Syntax einzelner Befehle zu merken bzw. sich daran zu errinern:

1 help+ Funktionsname gibt die Hilfe dazu aus

2 Matlab-Hilfsmenüdoc: Umfangreiche Suchmöglichkeiten

3 Buchstabenfolge + Tabulator: Automatische Befehlsergänzung

4 Pfeil-nach-oben: Befehlsverlauf

5 Online Ressourcen (docist auch über den Browser einsehbar, Foren, usw.)

Literatur:

Gute deutschsprachige Einführung:

ftp://ftp.math.ethz.ch/users/wpp/NUMSTATMETH/

Y2009/EinfMATLAB.pdf

(12)

Matlab als Taschenrechner Operationen auf Matrizen

Matlab als Taschenrechner

Operationen auf Matrizen

Erzeugen von Matrizen:

[1 2 3 ; 4 5 6] zeros(2,3) eye(5)

Erzeugen von speziellen Zeilenvektoren:

1:3ergibt den Vektor

1 2 3

. 1:0.2:2ergibt

1.0 1.2 1.4 1.6 1.8 2.0

. Zuweisung (um Werte in einer Variablen abzuspeichern):

c1 = 6 A = [1 2 3 ; 4 5 6] v = 1:10 x = [1;2;3] y = [1 2 3]

(13)

Matlab als Taschenrechner Operationen auf Matrizen

(14)

Matlab als Taschenrechner Operationen auf Matrizen

Matlab als Taschenrechner

Operationen auf Matrizen

Verkleben von Matrizen:

[A, zeros(2,2)]ergibt

1 2 3 0 0

4 5 6 0 0

B = [A, zeros(2,2); eye(2), A]speichert die Matrix

1 2 3 0 0 4 5 6 0 0 1 0 1 2 3 0 1 4 5 6

 .

in der VariablenBab.

(15)

Matlab als Taschenrechner Operationen auf Matrizen

Matlab als Taschenrechner

Operationen auf Matrizen

Elementauswahl für Zugriff und Zuweisung:

A(1,2) A(1:2,2) A(1:2,1:3) A(:,[1 3]) ElementweisearithmetischeOperationen:

+ - .* ./ .ˆ .’

Elementweise Funktionen:

abs sin cos exp sqrt min max ...

Elementweise logische Operationen:

Das Ergebnis ist 0 (false) bzw. 1 (true).

== ˜= < > <= >= & | ˜

(16)

Matlab als Taschenrechner Operationen der Linearen Algebra

Matlab als Taschenrechner

Arithmetische Operationen der Linearen Algebra

Grundrechenoperationen der Linearen Algebra + - * ˆ

Weitere Operationen:

A\B A−1·B

A0 A>(fallsAreell)

det(A) det(A)

inv(A) A−1

rank(A) rang(A)

(17)

Matlab als Taschenrechner Operationen der Linearen Algebra

Matlab als Taschenrechner

Das Lösen von linearen Gleichungssystemen

Eingabe:

A = [ 1 2 ; 3 4 ] A= 1 2

3 4

!

b = [ 3 ; 5 ] b= 3

5

!

A\b A−1b

Ausgabe ist die Lösung vonAx=b:

ans=

−1 2

(18)

Matlab als Programmiersprache Skripte und Funktionen

Skripte

Erläuterungen

Eine Datei, welche eine Abfolge von Befehlen enthält, heisst Skriptoder Programm.

Name der Datei beliebig, Dateierweiterung muss.msein.

Aufruf des Skripts (ohne Dateierweiterung) führt Skript sequenziell aus.

Semikolon;unterdrückt die Ausgabe.

Kommentare beginnen mit einem Prozentzeichen%.

Achtung:Ein MATLAB-Skript und ein MATLAB-Live Skript ist nicht dasselbe!

(19)

Matlab als Programmiersprache Skripte und Funktionen

Skript erstellen

Für die Abgabe der Aufgaben sollen MATLAB-Skripte erstellt werden, z.B.S04A02.m, S04A03.m, S04A04.musw.

(20)

Matlab als Programmiersprache Skripte und Funktionen

Skripte

Einschränkungen

Einschränkungen bei Namen von Variablen und Dateien alle Namen müssen sich unterscheiden

Gross- und Kleinbuchstaben werden unterschieden Namen müssen mit einem Buchstaben beginnen Namen dürfen keine Sonderzeichen enthalten

(21)

Graphische Ausgabe Funktionen zeichnen

Funktionen einer Veränderlichen zeichnen

Matlab zeichnet keine Funktionen, sondernWertetabellenals Polygonzug!

1 DefiniereSpaltenvektorxvonx-Werten, z.B.

x = (0 : pi/100 : pi)’;

2 DefiniereSpaltenvektoryvony-Werten einer Funktion, z.B.

y = sin(x);

3 Zeichne Wertetabelle plot(x,y);

4 Alternativ:

plot(x,sin(x));

Beachte: Die Funktion, die gezeichnet werden soll, muss elementweiseaufxanwendbar sein!

(22)

Graphische Ausgabe Funktionen zeichnen

Funktionen einer Veränderlichen zeichnen

UmmehrereFunktionen zu zeichnen, geht man wie folgt vor:

1 DefiniereSpaltenvektorxvonx-Werten, z.B.

x = (0 : pi/100 : pi)’;

2 DefiniereSpaltenvektorenyundzvony-Werten von Funktionen, z.B.

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

3 Zeichne Wertetabellen plot(x,y,x,z);

4 Alternativ:

plot(x,[y,z]);

plot(x,sin(x),x,cos(x));

(23)

Graphische Ausgabe Funktionen zeichnen

Plotoptionen und Modifizierung von Graphen

1 Weitere Optionen beim Zeichnen von Kurven, z.B.

plot(x,sin(x),’k--’,x,cos(x),’r-+’)

0 0.5 1 1.5 2 2.5 3 3.5

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1

(24)

Graphische Ausgabe Funktionen zeichnen

Plotoptionen und Modifizierung von Graphen

2 Modifizierung der Achsen:

axis([xmin xmax ymin ymax]) axis equal

xlim([xmin xmax]) usw.

3 Beschriftung:

title(’Überschrift’) xlabel(’x-Achse’)

legend(’Graph 1’,’Graph 2’,’Graph 3’)

4 Weitere Modifizierungen direkt am Graphen möglich!

(25)

Graphische Ausgabe Funktionen zeichnen

Plotoptionen und Modifizierung von Graphen

Der subplot-Befehl

Um mehrere Plotsin einem Fensterdarstellen zu lassen, benutzen wir den Befehl

subplot(m,n,k) Beispiel:

subplot(2,2,1) plot(x,sin(x))

subplot(2,2,2) plot(x,cos(x),’r’) subplot(2,2,4) plot(x,x.ˆ2,’k’) subplot(2,2,3)

plot(x,sin(2*x),’m’)

0 1 2 3 4

0 0.2 0.4 0.6 0.8 1

(26)

Graphische Ausgabe Funktionen zeichnen

Plotoptionen und Modifizierung von Graphen

Der subplot-Befehl

Um mehrere Plotsin einem Fensterdarstellen zu lassen, benutzen wir den Befehl

subplot(m,n,k) Beispiel:

subplot(2,2,1) plot(x,sin(x)) subplot(2,2,2) plot(x,cos(x),’r’)

subplot(2,2,4) plot(x,x.ˆ2,’k’) subplot(2,2,3)

plot(x,sin(2*x),’m’)

0 1 2 3 4

0 0.2 0.4 0.6 0.8 1

0 1 2 3 4

-1 -0.5 0 0.5 1

(27)

Graphische Ausgabe Funktionen zeichnen

Plotoptionen und Modifizierung von Graphen

Der subplot-Befehl

Um mehrere Plotsin einem Fensterdarstellen zu lassen, benutzen wir den Befehl

subplot(m,n,k) Beispiel:

subplot(2,2,1) plot(x,sin(x)) subplot(2,2,2) plot(x,cos(x),’r’) subplot(2,2,4) plot(x,x.ˆ2,’k’)

subplot(2,2,3)

plot(x,sin(2*x),’m’)

0 1 2 3 4

0 0.2 0.4 0.6 0.8 1

0 1 2 3 4

-1 -0.5 0 0.5 1

2 4 6 8 10

(28)

Graphische Ausgabe Funktionen zeichnen

Plotoptionen und Modifizierung von Graphen

Der subplot-Befehl

Um mehrere Plotsin einem Fensterdarstellen zu lassen, benutzen wir den Befehl

subplot(m,n,k) Beispiel:

subplot(2,2,1) plot(x,sin(x)) subplot(2,2,2) plot(x,cos(x),’r’) subplot(2,2,4) plot(x,x.ˆ2,’k’) subplot(2,2,3)

plot(x,sin(2*x),’m’)

0 1 2 3 4

0 0.2 0.4 0.6 0.8 1

0 1 2 3 4

-1 -0.5 0 0.5 1

2 4 6 8 10

-0.5 0 0.5 1

(29)

Graphische Ausgabe Funktionen zeichnen

Plotoptionen und Modifizierung von Graphen

Der figure-Befehl

Der Befehlfigure(n)öffnet einFenstermit der Nummern.

Alle weiteren Plot-Befehle werden in diesem Fenster ausgeführt Mit den Befehlenfigure(1),figure(2), usw. kann man zwischen den Fenstern 1, 2, usw. beliebig wechseln.

Auch Plots in Subplot-Grids lassen sich mittitle(’...’) einzeln betiteln; Dem gesamten Subplot-Grid kann mittels sgtitle(’...’)ein Titel hinzugefügt werden.

Mitclose nundclose alllassen sich ein bestimmtes bzw.

alle Fenster wiederschliessen.

Referenzen

ÄHNLICHE DOKUMENTE

Diese nach Norden setzende Flut-Strömung wurde von Petermann als Golfstrom in Anspruch genommen, dessen Wirkung man seither die milden Witterungs—Verhä.ltnisse zugeschrieben hat.

ein Kontext anderer Kontext - benutzerorientierte Namen haben im Unterschied zu Adressen.. (oder maschinenorientierten

2 Graphische Ausgabe Funktionen zeichnen.. Graphische Ausgabe

〉 Wenn auf einen Matrixeintrag zugegriffen wird, etwa durch A(2,3:6), so muss die Matrix mindestens die Größe 2×6 besitzen und entsprechend vorher definiert werden, etwa z.B. als A

können Funktionen keine globalen Variablen modifizieren, müssen alle benötigten Werte als Parameter übergeben werden, müssen alle nach Ende des Funktionsaufruf weiter benötigten

Dieser Handle kann in einer Variablen abgespeichert werden und/oder als Wert an eine weitere Funktion übergeben werden... Matlab-Abbildungen speichern Plot erstellen, speichern &amp;

Manchmal wird aber RootOf auch benutzt, bei Gleichungen für die Maple keine Lösung hinschreiben kann... Harbrecht (Universität Basel) Mathematik am

Als eigenständiges Zeichen wird die Tilde in der Mathematik und der Physik als Zeichen für proportional verwendet (beispielsweise ist bei einer Bewegung mit konstanter