Einführung in Matlab, 2. Teil

Transcrição

Einführung in Matlab, 2. Teil
Einführung in Matlab, 2. Teil
Christof Eck, Monika Schulz und Jan Mayer
1 / 18
Plotten von Funktionen einer Veränderlichen
Matlab plottet keine Funktionen, sondern Wertetabellen als
Polygonzug!
2 / 18
Plotten von Funktionen einer Veränderlichen
1
Definiere Spaltenvektor X von x-Werten, z.B.
X = (0 : pi/100 : 2*pi);
2
Definiere Spaltenvektor Y von y -Werten einer Funktion,
z.B.
Y = sin(X);
3 / 18
Plotten von Funktionen einer Veränderlichen
1
Definiere Spaltenvektor X von x-Werten, z.B.
X = (0 : pi/100 : 2*pi);
2
Definiere Spaltenvektor Y von y -Werten einer Funktion,
z.B.
Y = sin(X);
3
Plotte Wertetabelle
plot(X,Y);
3 / 18
Plotten von Funktionen einer Veränderlichen
1
Definiere Spaltenvektor X von x-Werten, z.B.
X = (0 : pi/100 : 2*pi);
2
Definiere Spaltenvektor Y von y -Werten einer Funktion,
z.B.
Y = sin(X);
3
Plotte Wertetabelle
plot(X,Y);
4
Alternativ:
plot(X,sin(X));
3 / 18
Plotten von Funktionen einer Veränderlichen
1
Definiere Spaltenvektor X von x-Werten, z.B.
X = (0 : pi/100 : 2*pi);
2
Definiere Spaltenvektor Y von y -Werten einer Funktion,
z.B.
Y = sin(X);
3
Plotte Wertetabelle
plot(X,Y);
4
Alternativ:
plot(X,sin(X));
Beachte: Die Funktion, die geplottet werden soll, muss
elementweise auf X anwendbar sein!
3 / 18
Plotten von mehreren Funktionen
Mit Hilfe des Befehls hold on lassen sich mehrere Funktionen
in ein Schaubild zeichnen.
4 / 18
Plotten von mehreren Funktionen
Alternative:
plot(X,[sin(X);cos(X)]);
Die Farbe einer Graphik lässt sich zum Beispiel ändern durch
Angabe von
plot(X,cos(X),’red’);
5 / 18
Plotten der Hütchenfunktion
Nicht vektorwertig definierte Funktionen müssen
komponentenweise übergeben werden:
6 / 18
Plotten der Hütchenfunktion
1
Definiere Spaltenvektor X von x-Werten, z.B.
X = (-2 : 0.1 : 2);
7 / 18
Plotten der Hütchenfunktion
1
Definiere Spaltenvektor X von x-Werten, z.B.
X = (-2 : 0.1 : 2);
2
size(X,2); bestimmt die Länge des Spaltenvektors X.
7 / 18
Plotten der Hütchenfunktion
1
Definiere Spaltenvektor X von x-Werten, z.B.
X = (-2 : 0.1 : 2);
2
size(X,2); bestimmt die Länge des Spaltenvektors X.
3
Innerhalb der for – Schleife wird der Vektor Y
komponentenweise mit den Funktionswerten belegt:
Y(i) = hfunc(X(i));
7 / 18
Plotten der Hütchenfunktion
1
Definiere Spaltenvektor X von x-Werten, z.B.
X = (-2 : 0.1 : 2);
2
size(X,2); bestimmt die Länge des Spaltenvektors X.
3
Innerhalb der for – Schleife wird der Vektor Y
komponentenweise mit den Funktionswerten belegt:
Y(i) = hfunc(X(i));
4
Dann wird die Wertetabelle geplottet:
plot(X,Y);
7 / 18
Plotten der Hütchenfunktion
1
Definiere Spaltenvektor X von x-Werten, z.B.
X = (-2 : 0.1 : 2);
2
size(X,2); bestimmt die Länge des Spaltenvektors X.
3
Innerhalb der for – Schleife wird der Vektor Y
komponentenweise mit den Funktionswerten belegt:
Y(i) = hfunc(X(i));
4
Dann wird die Wertetabelle geplottet:
plot(X,Y);
7 / 18
Plotten von parametrisierten Kurven
Eine (stetige) Funktion [a, b] −→ R2 , t 7→ (u(t), v (t)) heißt
ebene Kurve in Parameter-Form und
K = {(x, y ) ∈ R2 | x = u(t), y = v (t), t ∈ [a, b]}.
ist der Graph der Kurve.
8 / 18
Plotten von parametrisierten Kurven
Eine (stetige) Funktion [a, b] −→ R2 , t 7→ (u(t), v (t)) heißt
ebene Kurve in Parameter-Form und
K = {(x, y ) ∈ R2 | x = u(t), y = v (t), t ∈ [a, b]}.
ist der Graph der Kurve.
Zum Beispiel ist
K = {(x, y ) ∈ R2 | x = sin t, y = cos t, t ∈ [0, π]}
ein Kreis mit Radius 1 um den Ursprung.
8 / 18
Plotten eines Kreises mit Radius 1 um den Ursprung
Um eine unverzerrte Darstellung zu erhalten, muss der Befehl
axis equal eingefügt werden.
9 / 18
Plotten parametrisierter Kurven
K plotten:
1
Definiere Spaltenvektor t von t-Werten, z.B.
t = (0 : pi/100 : 2*pi)’;
2
Definiere Spaltenvektor x von x-Werten, z.B.
x = sin(t);
10 / 18
Plotten parametrisierter Kurven
K plotten:
1
Definiere Spaltenvektor t von t-Werten, z.B.
t = (0 : pi/100 : 2*pi)’;
2
Definiere Spaltenvektor x von x-Werten, z.B.
x = sin(t);
3
Definiere Spaltenvektor y von y -Werten, z.B.
y = cos(t);
4
Plotte Wertetabelle
plot(x,y);
10 / 18
Plotten parametrisierter Kurven
K plotten:
1
Definiere Spaltenvektor t von t-Werten, z.B.
t = (0 : pi/100 : 2*pi)’;
2
Definiere Spaltenvektor x von x-Werten, z.B.
x = sin(t);
3
Definiere Spaltenvektor y von y -Werten, z.B.
y = cos(t);
4
Plotte Wertetabelle
plot(x,y);
5
Alternativ:
plot(sin(t),cos(t));
10 / 18
Plotten von Funktionen zweier Veränderlicher
Grundlagen
Beispiel: Plotte
z = f (x, y ) = x 2 + y ,
x ∈ [0, 1] y ∈ [0, 1].
z
2
1
0
1
1
0.5
y
0.5
0
0
x
11 / 18
Plotten von Funktionen zweier Veränderlicher
Grundlagen
Es werden Matrizen X und Y benötigt, so dass die
elementweise Auswertung von X und Y eine Matrix Z mit den
Funktionswerten liefert.
Beispiel:




0
0
0
0 0.5 1
Y =  0.5 0.5 0.5 
X =  0 0.5 1 
1
1
1
0 0.5 1
Diese Matrizen können mit der Funktion meshgrid erzeugt
werden.
12 / 18
Plotten von Funktionen zweier Veränderlicher
Grundlagen
Für z = f (x, y ) = x 2 + y erhält man dann die Matrix der
Funktionswerte


0 0.25 1
Z =  0.5 0.75 1.5  .
1 1.25 2
13 / 18
Plotten von Funktionen zweier Veränderlicher
Befehl zum Erstellen einer 2D-Graphik:
surf(X,Y,Z).
14 / 18
Plotten von Funktionen zweier Veränderlicher
Vorgehensweise
1
Erzeuge Matrizen X und Y , z.B.
[X,Y] = meshgrid(0:0.1:1, 0:0.1:1);
15 / 18
Plotten von Funktionen zweier Veränderlicher
Vorgehensweise
1
Erzeuge Matrizen X und Y , z.B.
[X,Y] = meshgrid(0:0.1:1, 0:0.1:1);
Genauer: sind x und y Vektoren der x- bzw. y -Werte bei
denen die Funktion f ausgewertet werden soll, so werden
die benötigten Matrizen X und Y erzeugt durch:
[X,Y] = meshgrid(x,y);
15 / 18
Plotten von Funktionen zweier Veränderlicher
Vorgehensweise
1
Erzeuge Matrizen X und Y , z.B.
[X,Y] = meshgrid(0:0.1:1, 0:0.1:1);
Genauer: sind x und y Vektoren der x- bzw. y -Werte bei
denen die Funktion f ausgewertet werden soll, so werden
die benötigten Matrizen X und Y erzeugt durch:
[X,Y] = meshgrid(x,y);
2
Erzeuge Matrizen Z der Funktionswerte, z.B.
Z = X.ˆ2+Y;
3
Plotte Funktion
surf(X,Y,Z);
15 / 18
Plotoptionen und Modifizierung von Graphen
1
Modifizierung der Schattierung:
shading faceted
shading flat
shading interp
16 / 18
Plotoptionen und Modifizierung von Graphen
1
Modifizierung der Schattierung:
shading faceted
shading flat
shading interp
2
Modifizierung der Axen:
axis([xmin xmax ymin ymax])
axis equal
und viele mehr
16 / 18
Plotoptionen und Modifizierung von Graphen
1
Modifizierung der Schattierung:
shading faceted
shading flat
shading interp
2
Modifizierung der Axen:
axis([xmin xmax ymin ymax])
axis equal
3
und viele mehr
Beschriftung:
title(’Überschrift’)
xlabel(’x-Achse’)
16 / 18
Plotoptionen und Modifizierung von Graphen
1
Modifizierung der Schattierung:
shading faceted
shading flat
shading interp
2
Modifizierung der Axen:
axis([xmin xmax ymin ymax])
axis equal
3
und viele mehr
Beschriftung:
title(’Überschrift’)
xlabel(’x-Achse’)
4
Weitere Modifizierungen direkt am Graphen möglich!
16 / 18
Plotten von Funktionen zweier Veränderlicher
Weitere Möglichkeiten:
1
Fläche ohne Gitter:
surf(X,Y,Z, ’EdgeColor’, ’none’);
17 / 18
Plotten von Funktionen zweier Veränderlicher
Weitere Möglichkeiten:
1
Fläche ohne Gitter:
surf(X,Y,Z, ’EdgeColor’, ’none’);
2
„beleuchtete“ Fläche:
surfl(X,Y,Z);
17 / 18
Plotten von Funktionen zweier Veränderlicher
Weitere Möglichkeiten:
1
Fläche ohne Gitter:
surf(X,Y,Z, ’EdgeColor’, ’none’);
2
„beleuchtete“ Fläche:
surfl(X,Y,Z);
3
Nur Gitter:
mesh(X,Y,Z);
17 / 18
Plotten von Funktionen zweier Veränderlicher
Weitere Möglichkeiten:
1
Fläche ohne Gitter:
surf(X,Y,Z, ’EdgeColor’, ’none’);
2
„beleuchtete“ Fläche:
surfl(X,Y,Z);
3
Nur Gitter:
mesh(X,Y,Z);
4
Höhenlinien:
contour(X,Y,Z);
17 / 18
Plotten von Funktionen zweier Veränderlicher
Weitere Möglichkeiten:
1
Fläche ohne Gitter:
surf(X,Y,Z, ’EdgeColor’, ’none’);
2
„beleuchtete“ Fläche:
surfl(X,Y,Z);
3
Nur Gitter:
mesh(X,Y,Z);
4
Höhenlinien:
contour(X,Y,Z);
5
Schattierte Karte:
pcolor(X,Y,Z);
17 / 18
Weitere Plotmöglichkeiten
1
Plotten von (parametrisierten) Kurven im Raum
plot3(X,Y,Z);
18 / 18
Weitere Plotmöglichkeiten
1
Plotten von (parametrisierten) Kurven im Raum
plot3(X,Y,Z);
2
Plotten von 2D-Vektorfeldern, d.h.
von Funktionen D ⊆ R2 −→ R2 mit (x, y ) 7→ (u, v )
quiver(x,y,u,v)
18 / 18
Weitere Plotmöglichkeiten
1
Plotten von (parametrisierten) Kurven im Raum
plot3(X,Y,Z);
2
Plotten von 2D-Vektorfeldern, d.h.
von Funktionen D ⊆ R2 −→ R2 mit (x, y ) 7→ (u, v )
quiver(x,y,u,v)
3
Plotten von 3D-Vektorfeldern, d.h.
von Funktionen D ⊆ R3 −→ R3 mit (x, y , z) 7→ (u, v , w)
quiver3(x,y,z,u,v,w)
18 / 18

Documentos relacionados