Professional Documents
Culture Documents
hrung in Matlab
nter Gramlich
Prof. Dr. Gu
Fachhochschule Ulm
Fachbereich Grundlagen
http://www.rz.fh-ulm.de/gramlich
Ulm, 17. Marz 2003
Inhaltsverzeichnis
1
Matlab
Lange Eingabezeilen
Matlab unterbrechen
5 18 m-Files
18.1 Script-Files . . . . . . . . .
5
18.2 Function-Files . . . . . . . .
15
15
16
5 19 Handle Graphics
17
17
Mathematische Funktionen
17
10 Visualisieren in Matlab
10.1 2D-Grafik . . . . . . . . . .
10.2 3D-Grafik . . . . . . . . . .
6 22 Ubungsaufgaben
mit (teilweisen)
Losungen
17
7
7
8
11 Matrizen
12 Matrizenoperationen
10
13 Lineare Gleichungssysteme
13.1 Quadratische Systeme . . .
13.2 Uberbestimmte
Systeme . .
13.3 Unterbestimmte Systeme .
11
11
11
12
12
15 Vergleichsoperatoren,
funktionen
12
Vergleichs-
1 Matlab
Die drei Hauptkomponenten von Matlab Ein Semikolon am Ende des Kommandos
unterbindet die Ausgabe.
sind:
Berechnung
Visualisierung
Programmierung
2.2 Demos
Durch den Aufruf
>> demo
erhalten wird das Hilfe-Fenster geoffnet
und Sie konnen sich Demonstrationen u
ber
Matlab und seine Toolboxen anschauen.
Weitere Info erhalten Sie mit help demo
oder help demos.
4
101
0.0001
9.84757 1.5e-12 8.997
3i
-3.4j
4e3i
Alle Zahlen werden intern im doubleFormat (Langformat) gema der Spezifikation durch die Gleitpunktnorm der Ieee abgespeichert. Matlabs ZahlenausgaFolglich gilt 3 + 4/5 6 = 3 + (4/5) 6 = be folgt mehreren Regeln. Ist das Ergeb3 + (0.8 6) = 3 + 4.8 = 7.8.
nis ganzzahlig, so wird eine ganze Zahl
ausgegeben. Wenn das Ergebnis eine reelle
Zahl ist, dann gibt Matlab das Resultat
4 Lange Eingabezeilen
standardmaig auf 4 Dezimalen gerundet
aus. Ist das Matrixelement groer als 103
Ist Ihre Eingabezeile lang, so konnen Sie
oder kleiner als 103 , so wird es in expodiese mit drei Punkten beenden ... und in
nentieller Form auf dem Bildschirm dargeder nachste Zeile fortfahren.
stellt. Sollen Zahlen in einem anderen Format ausgegeben werden, so hilft das Mat>> s = 1+1/2+1/3+1/4+1/5+...
lab-Kommando format. Die Tabelle 1 gibt
1/6+1/7+1/8+1/9+1/10
mogliche numerische Zahlenformate an.
s =
2.9290
Kommando
format short
format long
format bank
5 Matlab unterbrechen
Beispiel: pi
3.1416
3.14159265358979
3.14
8 Mathematische Funktionen
Ein Variablenamen muss mit einem Buchstaben beginnen und darf aus maximal 31
Buchstaben, Zahlen und Untersrichen bestehen. Ist ein Name lange, so sind nur die
ersten 31 Stellen signifikant. Umlaute sind
nicht erlaubt! Erlaubt sind zum Beispiel
Matlab verf
ugt u
ber viele mathematische
Funktionen. Trigonometrische Funktionen
sind zum Beispiel sin, cos oder tan. Ihre Arumente m
ussen in Radian angegeben
werden. Will man zum Beispiel die Koordinaten (x, y) des Punktes auf dem Kreis
um den Ursprung mit Radius 3 und Winkel 30 = /6 berechnen, so ist folgendes
zu tun
MeineVariable Anna x1 X3
z23c1 My_Var
Dar
uber hinaus gibt es vordefinierte Va- Andere Funktionen sind zum Beispiel sqrt,
riablen. Die Tabelle 2 zeigt ein paar. exp oder log.
Achtung! Sie konnen diese spezielle Va>> sqrt(4), exp(4), log(x^2+1)
ans =
Spezielle Variable
Bedeutung
2
ans
Resultat (Default)
ans =
computer
Identifiziert
54.5982
eps
Maschinengenauigkeit
ans =
i
Imaginare Einheit
2.8332
Inf
Infinity
j
Imaginare Einheit
Zeitpunkt in min
0.0
0.5
1.0
1.5
2.0
2.5
3.0
3.5
4.0
Temperatur in 0 C
62
55
48
46
42
39
37
36
35
Tabelle 3: Abk
uhlung einer Fl
ussigkeit
10 Visualisieren in Matlab
>> plot(x,y)
Matlab verf
ugt u
ber moderne und
machtige
Visualisierungsmoglichkeiten.
Dies ist einer der Gr
unde f
ur den Erfolg
von Matlab. Das Visualisieren von Daten
ist typisch im praktischen Einsatz von
Matlab, wahrend das Zeichnen von
explizit bekannten Funktionen sehr von
Nutzen in der Lehre ist.
60
55
10.1 2D-Grafik
50
Ein einfaches Beispiel soll die erste Situation erlautern. Hierzu nehmen wir an,
dass die Messung des zeitlichen Verlaufs
der Abk
uhlung einer Fl
ussigkeit die Werte
aus der Tabelle 3 ergab. Wir wollen dieses
Meergebnis nun grafisch darstellen. Hierzu speichern wir die Zeitpunkte im Vektor
x und die Temperaturwerte in y, also
45
40
35
0
0.5
1.5
2.5
3.5
Abbildung 1: Abk
uhlung einer Fl
ussigkeit
nen nun den Graph der explizit gegebenen
Funktion f (x) = sin(x) auf dem Intervall
[0, 2]. Dazu m
ussen drei Dinge getan werden:
Der Befehl
0.6
0.4
0.2
0
0.2
k=1:n
0.4
0.6
3. Ein Polygonzug mu gezeichnet werden, der die Punkte (x1 |y1 ), . . . , (xn |yn )
verbindet.
0.8
1
0
n = 20;
x = linspace(0,2*pi,n);
y = sin(x);
plot(x,y)
>> grid
>> title(Die Sinusfunktion im
Intervall [0,2\pi])
10.2 3D-Grafik
Mehr Informationen u
ber VisualisieWill man den Graph eines Funktionsterms rungsmoglichkeiten findet man mit
f (x, y) mit den beiden unabhangigen Va- help graph2d, help graph3d und help
riablen x, y zeichnen, so muss man die specgraph.
11 Matrizen
Ein rechteckiges Zahlenschema mit m Zeilen und n Spalten heit (m, n)-Matrix. Es
ist u
blich, eine Matrix in eckige oder runde
KLammern zu setzen; wir wahlen eckige.
Ist m = 2 und n = 3, so liegt eine (2, 3)Matrix vor, zum Beispiel
1
2 2
A=
.
7 3
0.1
f(x,y)
0.05
0
0.05
0.1
2
2
1
1
1
y
Name
loglog
semilogx
semilogy
polar
hist
bar
stem
1
2
2 +y 2 )
f
ur
>> A = [1 sqrt(2) -2; 7 -3 pi]
A =
1.0000
1.4142
-2.0000
7.0000
-3.0000
3.1416
Die Zeilen werden durch ein Semikolon und
die Spalten durch ein Leerzeichen getrennt.
Spalten konnen auch durch ein Komma
getrennt werden. Besteht eine Matrix nur
aus einer Zeile, so liegt eine Zeilenmatrix
bzw. ein Zeilenvektor vor. Analog spricht
man von einer Spaltenmatrix bzw. von einem Spaltenvektor, wenn die Matrix nur eine Spalten hat. Eine Zeilenmatrix hat die
Groe (1, n) und eine Spaltenmatrix (m, 1).
Mit der Funktion size konnen Sie stets die
Groe einer Matrix bestimmen.
Beschreibung
Logarithmisches KO-System
x-Achse logarithmisch
y-Achse logarithmisch
polare Darstellung
Histogramm
Balkendiagramm
Punkte mit Linien
>> size(A)
ans =
2
3
1
1
Beachten Sie im folgenden stets, dass Vektoren und Skalare spezielle Matrizen sind!
Die Tabelle 5 zeigt Matrizenoperationen in
Matlab.
10
Symbol
+
*
^
13 Lineare Gleichungssysteme
Operation
Addition
Subtraktion
Multiplikation
Potenzieren
11
Das System Ax = b hat in der Regel keine Losung, aber das Ersatzproblem
Ax b (die lineare Ausgleichsaufgabe) ist
stets losbar. Entweder hat das Ersatzproblem genau eine oder aber unendlich viele
Losungen, je nachdem ob die Spalten von
A lineare unabhangig sind oder nicht. Im
Fall, dass es unendlich viele Losungen gibt
erhalt man durch A\b eine Basisl
osung.
F
ur weitere Informationen siehe help
strfun.
Ein lineares System Ax = b heit unterbestimmt, wenn weniger Gleichungen als Unbekannte vorliegen; in der Regel hat Ax =
b dann unendlich viele Losungen. In diesem Fall wird durch A\b die Losung kleinster Lange berechnet, das heit von allen
Losungen x wird diejenige ermittelt, wo die
Lange von x am kleinsten ist. Hat das System Ax = b keine Losung, so wird eine
Basislosung des Ersatzproblems Ax b
berechnet.
Weitere
Informationen
backslash.
siehe
help
15 Vergleichsoperatoren,
Vergleichsfunktionen
Vergleichsoperatoren und Vergleichsfunktionen dienen dazu, zwei Matrizen elementweise hinsichtlich einer bestimmten Eigenschaft zu vergleichen. In Abhangigkeit davon, ob diese Eigenschaft besteht oder
nicht, geben sie dann einen entsprechenden Wahrheitswert zur
uck, der in Bedingungen f
ur Schleifen oder Verzweigungen
weiterverwendet werden kann. In Matlab
gibt es wie auch in C/C++, aber anders
als etwa in Pascal keinen expliziten Datentyp, der die Wahrheitswerte wahr und
falsch speichern kann. Statt dessen wird
ein numerischer Wert ungleich 0 als wahr
und der Wert 0 als falsch betrachtet. Vergleichsoperatoren haben, hinter den arithmetischen, vor den logischen Operatoren,
die zweithochste Prioritat bei der Abarbeitung von Ausdr
ucken.
12
Logische Operatoren existieren im Prinzip in allen allgemein verwendbaren Programmiersprachen. Sie dienen dazu, Wahrheitswerte miteinander zu verkn
upfen. In
den meisten Sprachen haben sie Namen
wie and, or und not und sind damit
Schl
usselworter f
ur den Compiler. In Matlab wie auch in C/C++ ist dies nicht
der Fall; die logischen Operatoren sind hier
aus Sonderzeichen aufgebaut.
Verkn
upft man zwei Matrizen mit einem
exklusiven oder, so ist die entsprechende
Ergebniskomponente 1 (wahr), wenn eine der beiden Komponenten von Null verschieden ist. Andererseits ist die Ergebniskomponente 0 (falsch), wenn beide Komponenten 0 oder beide ungleich 0 sind.
>> x = [1 0 2 3 0 4];
>> y = [5 6 7 0 0 8];
>> xor(x,y)
ans =
0
1
0
Dar
uber hinaus gibt es zusatzliche Funktionen, die die Existenz spezieller Werte oder
Werden Matrizen mit logischen Operatoren Bedingungen testen und ein logisches Reverkn
upft, so geschieht dies komponenten- sultat zur
uckgeben. Die logische Funktion
weise. Die Tabelle 6 zeigt die logischen Ope- isieee testet Ihren Computer, ob er den
ratoren.
Ieee-Standard erf
ullt.
Logische Operatoren
&
|
~
Beschreibung
logisches und
logisches oder
logisches nicht
>> isieee
ans =
1
Mein Rechner unterst
utzt diesen Standard und deswegen wird 1 (wahr)
zur
uckgegeben.
Verkn
upft man zwei Matrizen mit einem Weitere Informationen u
ber logische Opelogischen und, so ist die entsprechende ratoren und Funktionen findet man mit
Ergebniskomponente 1, wenn die beiden help ops.
Komponenten von Null verschieden sind.
>> x = [1 0 2 3 0 4];
>> y = [5 6 7 0 0 8];
>> x & y
ans =
1
0
1
17 Steuerstrukturen
Programmiersprachen und programmierbare Taschenrechner erlauben es, den Ab1 lauf eines Programms zu steuern. Man
13
17.1 for-Schleife
17.2 while-Schleife
>> if ( rem(a,2) == 0 )
disp(a ist gerade)
In einer while-Schleife berechnen wir die
end
Summe der ersten 100 Zahlen.
>> n = 1; Summe = 0;
>> while n <= 100
Summe = Summe+n;
n = n+1;
end
>> Summe
17.4 switch-Anweisung
Hat im folgenden Beispiel die Variable x
den Wert -1, so wird x ist -1 auf dem
Bildschirm ausgegeben. Entsprechendes geschieht bei den anderen Fallen.
14
switch x
case -1
disp(x ist
case 0
disp(x ist
case 1
disp(x ist
otherwise
disp(x ist
end
Das folgende Beispiel zeigt ein EigenwertRoulette, welches darauf beruht, abzuzahlen wieviele Eigenwerte einer reellen
Zufallsmatrix reell sind. Ist die Matrix A
reell und von der Ordnung 8, dann gibt es
0,2,4,6 oder 8 reelle Eigenwerte (die Anzahl
mu gerade sein, weil komplexe Eigenwerte
in komplex-konjugierten Paaren auftreten).
Die beiden Zeilen
Weitere Informationen u
ber Steuerstrukturen findet man mit help lang.
A = randn(8);
sum((abs(imag(eig(A))) < 0.0001));
18 m-Files
erzeugen eine zufallig normalverteilte 88Matrix und zahlen, wieviel Eigenwerte reell sind. Dies ist so realisiert, dass gepr
uft
wird, ob der Imaginarteil dem Betrag nach
kleiner als 104 ist. Jeder Aufruf erzeugt
nun eine andere Zufallsmatrix und man
erhalt somit unterschiedliche Ergebnisse.
Um ein Gef
uhl daf
ur zu bekommen, welche der f
unf Moglichkeiten am wahrscheinlichsten ist, kann man folgenden Script
ausf
uhren.
15
300
200
100
function [Out_1,...,Out_n] =
Name(In_1,...,In_m)
File den von Ihnen geschriebenen Code abIrgendwelche Anweisungen
arbeitet, so geben Sie echo on ein. Mit
echo off konnen Sie den Vorgang wieder wobei Name der vom Anwender anzuger
uckgangig machen.
bende Funktionsname ist. Es ist moglich,
da keine Ausgabe- oder Eingabeargumente vorhanden sind.
18.2 Function-Files
Wenn Sie intensiver mit Matlab arbeiten, dann werden Sie bald feststellen, da
es nicht f
ur alle ihre W
unsche eingebaute Funktionen oder Kommandos gibt. In
diesem Fall konnen Sie sich aber Ihre eigene Funktion schreiben und damit die
Funktionalitat von Matlab erweitern. Mit
Hilfe von Function-Files konnen Sie den
Matlab-Funktionsvorrat erweitern. Variablen in Function-Files sind lokale Varia
blen. Die Ubergabe
einzelner Variablen erfolgt u
ber eine Parameterliste im Funktionsaufruf. Ein Function-File entspricht der
subroutine bzw. function in der Pro-
16
und definieren Sie eine Matrix A im Mat- zu generieren. Hierzu steht eine GUIEntwicklungsumgebung zur Verf
ugung, sielab-Workspace. F
uhren Sie
he guide. F
ur weitere Einzelheiten siehe
help uicontrol.
>> [V,D,r] = MatrixEig(A)
aus, dann erhalten Sie in der Matrix V die
Eigenvektoren, in D die Eigenwerte und in 21 Die MathWorks WWW-Seite
r den Rang der Matrix A. V,D,r sind die
ber das
Ausgabe- und A die Eingabeargumente der Die Firma MathWorks kann u
World
Wide
Web
(WWW)
erreicht
werden.
Funktion MatrixEig.
1
Die URL-Adresse lautet:
http://www.mathworks.com
19 Handle Graphics
Das Grafiksystem von Matlab stellt
sogenannte Low-Level-Funktionen zur
Verf
ugung, mit denen alle Aspekte des
Grafiksystems kontrolliert werden konnen.
Damit besteht die Moglichkeit, detaillierte
Grafiken zu generieren. Die Kommandos
set und get erlauben, jedes Grafikobjekt
anzusprechen. Mit help graphics erhal
ten Sie eine komplette Ubersicht
u
ber alle
zur Verf
ugung stehenden Kommandos und
Funktionen.
22 Ubungsaufgaben
mit
(teilweisen) Losungen
17
ur 0 t 4.
u
ber dem Intervall (0, 5) mit den Funktio- in der xy-Ebene f
nen plot, fplot und ezplot.
5 (Grafik, 3D) Zeichnen Sie den Graph des
Lo
sung:
Funktionterms
1
x = linspace(0,5);
f (x, y) = cos(x) + y exp(x2 y 2 )
f = sin(x.^2)-2*cos(x);
5
plot(x,f)
mit den Funktionen mesh und ezmesh u
ber
fplot(sin(x^2)-2*cos(x),[0,5])
dem Quadrat 3 x 3, 3 y 3.
ezplot(sin(x^2)-2*cos(x),[0,5])
L
osung:
2 (Grafik) Erzeugen Sie mit einem einzigen
plot-Befehl die Graphen der Funktionsterme sin(kx) u
ur
ber dem Intervall [0, 2] f
k = 1 : 5.
3 (Grafik, st
uckweise definierte Funktion)
Zeichnen Sie den Graph der Funktion
(
1 |x| 0.5
rect(x) =
0 sonst
[X,Y] = meshgrid(-3:0.1:3);
Z = 1/5*cos(X)+Y.*exp(-X.^2-Y.^2);
mesh(X,Y,Z)
oder als Einzeiler mit ezmesh.
ezmesh(1/5*cos(x)+y*exp(-x^2-y^2),
[-3,3])
6 (Grafik, 3D) Gegeben sei der Funktionterm
u
ber dem Intervall [3, 3].
f (x, y) = x2 8x + y 2 6y 0.1xy + 50.
L
osung: Wir definieren zunachst die
Funktion rect in einem Function-File und Benutzen Sie die mesh-Funktion, um das
zeichnen dann mit plot den Graph der Minimum und den minimalen Wert der
Funktion f im Bereich 0 < x < 5, 0 <
Funktion.
y < 5 zu schatzen.
function y = rect(x)
7 (Variablennamen) Wieviel verschiedene
n = length(x);
Matlab Variablenamen stehen in folgeny = zeros(n,1);
der Zeile?
y = (x<0.5)-(x<-0.5);
anna ANNA anNa aNna_anna
Die folgenden Befehle zeichnen den Graph.
Lo
sung: Vier verschiedene Variablennax = linspace(-3,3,1000);
men.
y = rect(x);
8 (Rundungsfunktionen) In Matlab finplot(x,y)
det man folgende eingebaute Funktionen:
axis([-3 3 -0.5 1.5])
4 (Grafik, Kurve) Zeichnen Sie die Kurve
x = sin(t) + t
y = 1 cos(t)
18
(d) ceil(-2.6)
x<0
0
x
(e) floor(ceil(10.8))
(d) g(x) = sin( 2 ) 0 x 1
1
x>1
Zeichnen Sie die Funktionen im Intervall
[3, 3]!
Zeichnen Sie die Funktionen u
ber dem In9 (Function-File, St
uckweise definierte tervall [2, 2]!
Funktion) Schreiben Sie einen Function- 11 (Function-File,
Funktionsgraph)
File, um folgende Funktion zu berechnen: Schreiben Sie einen Function-File, um die
1
Funktion f (t) = t 3 t R zu berechnen.
x x < 0
Benutzen Sie diesen, um die Funktion f
f (x) = x2 0 x < 2
im Intervall [0, 1] zu zeichnen.
L
osung: Mit dem Function-File
4
x2
Testen Sie Ihre Funktion f
ur die Werte x =
2, 1.5, 2 und 6. Zeichnen Sie die Funktion
f mit fplot u
ber dem Intervall [3, 3]!
L
osung: Der folgende Function-File definiert die Funktion f .
function y = f(t)
y = t.^(1/3);
kann
man
den
Graph
mit
fplot(f,[0,1]) zeichnen.
12 (Funktionsgraph) Zeichnen Sie den
Funktionsterm f (x) = 5 im Intervall [0, 2].
function y = f(x)
Bemerkung: Zunachst empfindet man diese
y1 = x.*(x<0);
Ubung
schwieriger als sie tatsachlich ist. In
y2 = x.^2.*( (x<2)-(x<0) );
Matlab ist es zwar leichter, eine nicht kony3 = 4*(x>=2);
stante Funktion zu zeichnen als eine Kony = y1+y2+y3;
stante. Es gibt aber eine Reihe von Tricks,
Der Aufruf fplot(f,[-3,3]) zeichnet dies zu tun. Hilfreich sind hierbei die Matden Graph im Intervall [3, 3].
lab-Funktionen size und ones.
19
b = [1,2,3]
1
3
5 .
B = 1
2 2
F
uhren Sie die folgenden Matlab- 16 (Matrizen, Matrizenoperationen) Es
Operationen durch. Welche sind definiert seien A, B, C und D nachfolgend definierund welche nicht? Erklaren Sie! Was sind te Matrizen.
die Resultate?
1 3
1
2
a + b
a + b
A = 2 4 B = 4 2
a + b
a + b
3 1
7 1
a - b
a - b
a - b
a - b
1 5
C=
a * b
a * b
5 3
a * b
a * b
und
a \ b
a \ b
4
3 2
a \ b
a \ b
0
5 .
D= 1
a .* b
a .* b
2 1
6
a .* b
a .* b
Berechnen Sie zunachst per Hand folgende
a .\ b
a .\ b
Matrizenalgebra. Geben Sie die Matrizen
a .\ b
a .\ b
dann in Matlab ein und vergleichen Sie
14 (Matrizen) Erzeugen Sie mit der Mat- die jeweiligen Resultate.
lab-Funktion rand eine 55-Zufallsmatrix
(a) A + B
A. Welches sind die Werte der folgenden
Ausdr
ucke? Uberlegen
Sie sich die Resul- (b) B + C
tate, bevor Sie die Rechnung am Computer (c) DA
durchf
uhren.
(d) 2A 3B
(e) AT
A(2,:)
A(:,1)
(f) C 2
A(:,5)
A(1,1:2:5)
A([1,5])
A(4:-1:1,5:-1:1)
L
osung:
6
2
1
2
3
10
0
1 2
A= 3
(b) B + C ist nicht definiert.
5 1
0
20
2 3 4 5])
0
2
0
0
0
0
0
3
0
0
0
0
0
4
0
0
0
0
0
5
5.5
0.4
3.1
9.4
5.5
3.3
4.6 4.3
A = 0.3
.
0.4 4.6
9.0
5.0
5.5
7.7
21
Geben Sie die Ordnung (Groe) dieser Matrix an! Wie kann man in Matlab die
Groe von A bestimmen? Geben Sie alle
Indizes an, deren Matrixelemente 5.5 sind.
L
osung: Die Ordnung der Matrix A ist
(5, 3). Mit der Funktion size kann man die
Ordnung in Matlab bestimmen. Die Indizes sind: 1, 1, 2, 2 und 5, 2.
24 (Matrizen) Gegeben sei die folgende
Matrix A:
5.5
0.4
3.1
9.4
5.5
3.3
4.6 4.3
A = 0.3
.
0.4 4.6
9.0
5.0
5.5
7.7
Was ist A(:,2), A(3,:), A(4:5,2:3)?
Uberpr
ufen Sie Ihr Resultat in Matlab.
L
osung: A(:,2) ist die zweite Spalte
und A(3,:) ist die dritte Zeile von A.
A(4:5,2:3) ist die Untermatrix
4.6 9.0
.
5.5 7.7
Lo
sung: Das folgende Script lost die Aufgabe.
p1 = [1 -3 -1 3];
p2 = [1 -6 12 -8];
25 (Matrizen, Vektoren) Geben Sie jeweils p3 = [1 -8 20 -16];
den Vektor c an, nachdem Sie die folgenden p4 = [1 -5 7 -3];
Operationen ausgef
uhrt haben. Uberpr
ufen p5 = [0 0 1 -2];
pa = p2-2*p4;
Sie Ihre Ergebnisse in Matlab.
pb = 3*p5+p2-2*p3;
a = [2 -1 5 0];
pc = conv(p1,p3);
b = [3 2 -1 4];
pd = deconv(p4,[1 -1]);
x = linspace(0,4);
(a) c = b+a-3;
ypa = polyval(pa,x);
(b) c = a./b;
ypb = polyval(pb,x);
(c) c = 2*a+a.^b;
ypc = polyval(pc,x);
(d) c = 2.^b+a;
ypd = polyval(pd,x);
(e) c = 2*b/3.*a;
plot(x,ypa,x,ypb,x,ypc,x,ypd)
22
>> median(x)
ans =
1.5000
>> cumprod(A)
ans =
1
3
7
2
24
28
12
-24
-56
>> sort(2*x+y)
ans =
1
3
5
>> sort(A)
ans =
1
-1
-2
2
3
4
6
8
7
21
Ausdr
ucke. Uberpr
ufen Sie Ihre Ergebnisse
>> min(x,y)
dann in Matlab.
ans =
1 0 4
0
-1
-2
7
B= 0 0 3
>> mean(A)
8 7 0
ans =
3.0000
3.3333
3.0000
23
(a) any(B)
(b) find(B)
(c) all(any(B))
(d) any(all(B))
(e) finite(B(:,3))
(f) any(B(1:2,1:3))
L
osung:
>> any(B)
ans =
1
1
1
>> find(B)
ans =
1
3
6
7
8
>> all(any(B))
ans =
1
>> any(all(B))
ans =
0
>> finite(B(:,3))
ans =
1
1
1
>> any(B(1:2,1:3))
ans =
1
0
1
10*rand(10,1).
-1+2*rand(1,10).
-20+30*rand(1,10).
-pi+2*pi*rand(1,10).
0 1 0 3
3 5 0
A= 4
1
2 3 0
und
1
3
B=
4
1
3
6
3
2
5 0
9 12
.
2 1
3 4
24
(e) triu(B)
(f) diag(rot90(B))
34 (Matrizenoperationen) Was ist 00 in
Matlab?
L
osung: Es ist 00 = 1 in Matlab.
25
Stichwortverzeichnis
Symbole
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3, 5
* . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5, 11
+ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5, 10, 11
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5, 10, 11
-all . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
.* . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
.+ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
./ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
.\ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
/.....................................5
[] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
^ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5, 11
\ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
demos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
diag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
diag(rot90(B)) . . . . . . . . . . . . . . . . . . . . 25
diary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
diary off . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
double . . . . . . . . . . . . . . . . . . . . . . . . . . . 5, 12
E
echo off . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
echo on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
eps. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
exp. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
eye . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
ezmesh . . . . . . . . . . . . . . . . . . . . . . . . . . . 8, 18
ezplot . . . . . . . . . . . . . . . . . . . . . . . . . . . 8, 18
F
Fibonacci . . . . . . . . . . . . . . . . . . . . . . . . . . 14
find(B) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
finite(B(:,3)) . . . . . . . . . . . . . . . . . . . . 24
fix(-2.6) . . . . . . . . . . . . . . . . . . . . . . . . . . 19
fix(x) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
fliplr(A) . . . . . . . . . . . . . . . . . . . . . . . . . . 24
floor(-2.6) . . . . . . . . . . . . . . . . . . . . . . . . 19
floor(ceil(10.8)) . . . . . . . . . . . . . . . . . 19
floor(x) . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
for . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
format bank . . . . . . . . . . . . . . . . . . . . . . . . . 5
format long . . . . . . . . . . . . . . . . . . . . . . . . . 5
format short . . . . . . . . . . . . . . . . . . . . . . . . 5
Fortran . . . . . . . . . . . . . . . . . . . . . . . . . 3, 16
fplot . . . . . . . . . . . . . . . . . . . . . . . . . . . 18, 19
function . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Function-Files. . . . . . . . . . . . . . . . . . . . . . .15
A
all(any(B)) . . . . . . . . . . . . . . . . . . . . . . . . 24
ans. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
any(all(B)) . . . . . . . . . . . . . . . . . . . . . . . . 24
any(B(1:2,1:3)) . . . . . . . . . . . . . . . . . . . 24
any(B) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
B
bar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
C
C/C++ . . . . . . . . . . . . . . . . . . 3, 12, 13, 16
ceil(-2.6) . . . . . . . . . . . . . . . . . . . . . . . . . 19
ceil(x) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
char . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
computer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
cos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
D
demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
26
G
get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Graphical User Interface (GUI) . . . . . 17
grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
M
m-Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Markov . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
mesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8, 18
meshgrid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
H
Hadamard . . . . . . . . . . . . . . . . . . . . . . . . . 11
help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
help backslash . . . . . . . . . . . . . . . . . . . . 12
help demo . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
help demos . . . . . . . . . . . . . . . . . . . . . . . . . . 4
help elfun . . . . . . . . . . . . . . . . . . . . . . . . . . 6
help elmat. . . . . . . . . . . . . . . . . . . . . . .6, 10
help graph2d . . . . . . . . . . . . . . . . . . . . . . . . 8
help graph3d . . . . . . . . . . . . . . . . . . . . . . . . 8
help graphics . . . . . . . . . . . . . . . . . . . . . 17
help lang . . . . . . . . . . . . . . . . . . . . . . . . 6, 15
help ops . . . . . . . . . . . . . . . . . . . . 10, 11, 13
help specgraph . . . . . . . . . . . . . . . . . . . . . 8
help strfun . . . . . . . . . . . . . . . . . . . . . . . . 12
help uicontrol . . . . . . . . . . . . . . . . . . . . 17
hist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
N
NaN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
num2str . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
O
ones. . . . . . . . . . . . . . . . . . . . . . . . . . . . .10, 19
P
Pascal. . . . . . . . . . . . . . . . . . . . . . . . . .12, 16
pi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5, 6
plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
polar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Q
quit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
R
rand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
rand(n) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
reshape(A,4,3) . . . . . . . . . . . . . . . . . . . . 24
rot(B) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
rot90(A,3) . . . . . . . . . . . . . . . . . . . . . . . . . 24
round(-2.6) . . . . . . . . . . . . . . . . . . . . . . . . 19
round(x) . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
I
i.....................................6
Ieee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
if . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Inf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
inverse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
isieee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
S
Schleifen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Script-Files . . . . . . . . . . . . . . . . . . . . . . . . . 15
semilogx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
semilogy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Simulink . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
J
j.....................................6
L
log. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
loglog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
lookfor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
27
sin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
size . . . . . . . . . . . . . . . . . . . . . . . . . . 9, 19, 22
Spaltenmatrix . . . . . . . . . . . . . . . . . . . . . . . . 9
Spaltenvektor . . . . . . . . . . . . . . . . . . . . . . . . 9
sqrt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4, 6
stem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Steuerstruktur . . . . . . . . . . . . . . . . . . . . . . 14
str2num . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
surf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
T
tan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
title . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
triu(B) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
V
Verzweigungen . . . . . . . . . . . . . . . . . . . . . . 14
W
while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Z
Zeilenmatrix . . . . . . . . . . . . . . . . . . . . . . . . . 9
Zeilenvektor . . . . . . . . . . . . . . . . . . . . . . . . . . 9
zeros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
28