Beruflich Dokumente
Kultur Dokumente
MATLAB ist eine leistungsfhige Software zur numerischen Lsung und graphischen Dar-
stellung von wissenschaftlich-technischen Aufgabenstellungen. Der Name MATLAB steht
fr MATrix LABoratory. Eine Vielzahl mathematischer Funktionen bilden die Grundlage,
die mittels leistungsfhiger Bausteine, wie z.B. der Control System Toolbox und ihrer vielen
Erweiterungen sowie den Toolboxen System Identification, Version 8.2 (R2013a), Signal
Processing, Version 6.19 (R2013a), Fuzzy Logic, Neuronal Network und die ber die Mu-
PAD19 symbolic engine betriebene Symbolic Math Toolbox, gestartet mit mupad usw., fach-
spezifisch ergnzt wird.
MATLAB ist ein interaktives Programm, mit dem es neben der Vielzahl gelieferter
M-functions mglich ist, eigene, mit Hilfe des M-file-Editors geschriebene functions, zu
nutzen.
Die nachfolgenden Ausfhrungen erheben keinesfalls den Anspruch, alle Kommandos bzw.
M-functions, die MATLAB beinhaltet, zu behandeln. Hierfr wird auf die Hilfefunktionen
help name bzw. doc name und auf den Function Browser unter Help im Command Win-
dow verwiesen. Aus der zwischenzeitlich zahlreichen und vorwiegend anwendungsorientier-
ten Literatur seien hier stellvertretend genannt: [Angermann u.a.-2011], [Benker-2003],
[Glattfelder/Schaufelberger-1997], [Gramlich/Werner-2000], [Lwe-2001], [Lutz/Wendt-
2010], [Paul-2004], [Pietruszka-2005], [Scherf-2003], [Schott-2004], [Schweizer-2013],
[berhuber u.a.- 2004].
Die in diesem Buch verwendete Software bezieht sich auf MATLAB Version 8.1 (R2013a),
Simulink Version 8.1 (R2013a), Control System Toolbox Version 9.5 (R2013a), und auf die
Symbolic Math Toolbox Version 5.10 (R2013a).
Direkte Aufzeichnungen von MATLAB-Routinen in Microsoft20 Word 2002, 2003, 2007,
und 2010 unter Microsoft Windows XP Home Edition knnen mit dem dafr vorgesehenen
MATLAB Notebook erfolgen.
19
MuPAD, Version 5.10.0 (R2013a), ist ein Computeralgebra System (CAS) der Firma SciFace Software GmbH
und Co. KG, jetzt Bestandteil von The MathWorks. Es ist ein Programm mit dem sich mathematische Prob-
lemstellungen bearbeiten lassen.
20
Microsoft ist ein eingetragenes Warenzeichen der Firma Microsoft Corporation.
2.1 Eingaben
Bei der Verwendung von MATLAB zur Lsung numerischer und graphischer Aufgabenstel-
lungen knnen sowohl die Daten als auch die Anweisungen direkt ber die Tastatur oder
indirekt ber eine Skript-Datei script bzw. Funktions-Datei function eingegeben wer-
den.
Beispiel 2.1
Zur Berechnung eines Zylindervolumens ber die indirekte Eingabe ist ein M-file gesucht.
Lsung:21
% Beispiel 2.1
% Berechnung des Volumens eines Zylinders
% mit dem Durchmesser d = 1 m und der Hhe h = 1 m.
% Vereinbarung der Werte
d = 1;
h = 1;
% Kreisflche
A = pi*d^2/4;
% Volumen
V = A*h;
disp(' ')
disp('****************************************************')
disp(' Lsung zum Beispiel 2.01')
disp(' Das Volumen eines Zylinders'),
fprintf(...
' mit dem Durchmesser d = %d m und der Hhe h = %d m\n',...
d,h)
fprintf(' betrgt V = %f m!\n',V)
% Ende des Beispiels 2.1
****************************************************
Lsung zum Beispiel 2.01
Das Volumen eines Zylinders
mit dem Durchmesser d = 1 m und der Hhe h = 1 m
betrgt V = 0.785398 m!
21
Published with MATLAB R2013a Editor: Beispiel2_01.m PUBLISH Publish Edit Publishing
Options ... Edit Configurations: Beispiel2_01.m MATLAB expression: Beispiel2_01 Publish
Web Browser-Fenster mit: Beispiel2_01.html bzw. Beispiel2_01.pdf ... usw.
Beispiel 2.2
Es sind die Summe der Zahlen von 1 bis n und die ausgefhrte Anzahl der Rechenschritte in
Form einer function [S, k] = summe(n) gesucht. Es gilt: n = 100.
Lsung:22
function [S, k] = summe(n)
% Berechnet die Summe der Zahlen von 1 bis n und gibt die
% Anzahl der Rechenschritte aus. Entspricht Beispiel 2.2.
%
% Vereinbarung der Variablen
i = 1; A(i) = 1; naus = nargout;
if nargin < 1, naus = 3; n = 0; end
% Berechnungen
for i = 2:(n+1), A(i)= A(i-1)+i; end
switch naus
case 1
if n > 1
S = A(i-1);
else
S = A(1);
end
case 2
if n > 1
k = i-1;
S = A(k);
else
k = n;
S = A(n);
end
case 3
error('Es fehlt die einzugebende Variable ''n''!')
end
disp(' ')
disp('****************************************************')
disp(' Lsung zum Beispiel 2.2')
% Ende der Funktion summe
****************************************************
Lsung zum Beispiel 2.2
S =
5050
k =
100
22
Published with MATLAB R2013a Editor: summe.m: PUBLISH Publish Edit Publishing Options
... Edit Configurations: summe.m MATLAB expression: [S,k] = summe(100) Publish Web
Browser-Fenster mit: summe.html bzw. summe.pdf ... usw..
135 45
II I
r=1 r = 1 y1
j1
j2
0
180 x
j4 x1 360
j3
r=1 r=1
225 III IV
315
270
Sein Drehsinn ist dem Uhrzeigersinn entgegengesetzt gerichtet, welcher als der mathema-
tisch positive Linkssystem bezeichnet wird. Durchluft der freie Schenkel eines Winkels
j alle vier in Abb. 2.1 dargestellten Quadranten, so verndert sich seine Gre von 0 bis
360 bzw. im Bogenma von 0 bis 2p. Der freie Schenkel, er entspricht dem Radius des
Einheitskreises r, bildet die Hypotenuse eines rechtwinkligen Dreiecks mit dem unvernder-
lichen Wert +1. Die Ankathete x sowie die Gegenkathete y verndern dagegen Lnge und
Vorzeichen beim Durchlauf. Mit den Definitionen der vier trigonometrischen Funktionen:
y x y x
sin = cos = tan = cot = (2.1)
r r x y
ergeben sich die Vorzeichen der Funktionswerte in den vier Quadranten:
Funk- Quadrant
tion I II III IV
sin j + +
cos j + +
tan j + +
cot j + +
MATLAB stellt dazu folgende Funktionen bereit, wobei die Eingabe der Winkel im Bogen-
ma oder in Grad mglich ist:
Trigonometrische MATLAB-Funktionen
Winkel phi in rad Winkel Phi in Grad
w = sin (phi) w = sind (Phi)
w = cos (phi) w = cosd (Phi)
w = tan (phi) w = tand (Phi)
w = cot (phi) w = cotd (Phi)
So beschreibt z.B. j = arcsin(w) den Bogen Arkus dessen Sinus den Wert w hat. Durch
Spiegelung an der Winkelhalbierenden des I. Quadranten, siehe Abb. 2.1, ergeben sich die
Verlufe der Arkusfunktionen aus denen der trigonometrischen, d.h. fr Bereiche, in denen
die Funktionen monoton verlaufen und alle Funktionswerte annehmen Monotonie-
Intervalle sind die trigonometrischen Funktionen umkehrbar.
Verlauf der Arkusfunktionen des Sinus (asin w), Cosinus (acos w) und Tangens (atan w)
180
arcsin(w)
arccos(w)
135
arctan(w)
90
[]
45
-45
-90
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
x
Abb. 2.2 Verlauf der Arkusfunktionen, berechnet mit den M-functions asin(w), acos(w) und atan(w)
MATLAB hat fr den hufig auftretenden Fall einer Umkehrfunktion des Tangens eine wei-
tere Arkustangensfunktion geschaffen, die wie folgt definiert ist:
Die Argumente Y und X in der Gleichung (2.4) entsprechen den Katheten y und x in der
Abb. 2.1. Die Funktion liefert fr Werte, welche in den Quadranten I und II liegen, die Win-
kel 0 j +p im Bogenma, d.h. 0 F +180. Fr Werte welche in den Quadranten III
und IV liegen, die Winkel 0 j p, d.h. 0 F 180 fr 180 < F 360.
90
45
[]
-45
-90
-135
atan2(y = -0.86, x = -0.5)*180/ = -120
-180
-1 -0.87 -0.71 -0.5 -0.26 0 0.26 0.5 0.71 0.87 1
( y,-1 x 1):Koordinatenpunkte im Einheitskreis
Abb. 2.3 Verlauf der mit der M-function atan2(Y,X) berechneten Winkel 180 j +180
% Abb. 2.02
% Figur 2 - Arkusfunktionen des Sinus, Cosinus und Tangens
x = -1:0.01:1;
Phis = asind(x); Phic = acosd(x); Phit = atand(x);
figure(2)
% Gre der Figur 2
set(2,'PaperPosition',[0.6345 6.3452 18.0 13.5])
plot(x,Phis,':k',x,Phic,'--k',x,Phit,'k'), grid
b = gca;
% Abb. 2.03
% Figur 3 - atan2(Y,X)
Phi = -180:15:0; Y = sind(Phi); X = cosd(Phi);
k0 = 0.26; k1 = 0.5; k2 = 0.71; k3 = 0.87;
figure(3)
% Gre der Figur 3
set(3,'PaperPosition',[0.6345 6.3452 18.0 13.5])
plot(X,atan2(Y,X)*180/pi,'k',-X,atan2(abs(Y),-X)*180/pi,'k')
grid
c = gca; f = gcf;
set(c,'ylim',[-180 180])
Phi1 = -180:45:180;
set(c,'YTick',Phi1), set(c,'xlim',[-1 1])
set(c,'XTick',[-1 -k3 -k2 -k1 -k0 0 k0 k1 k2 k3 1])
title(...
['Arkusfunktion des Tangens fr - \pi \leq',...
'atan2(Y,X) \leq + \pi'])
ylabel('\phi []')
xlabel(['(\pm y,-1 \leq x \leq 1):',...
'Koordinatenpunkte im Einheitskreis '])
annotation(f,'textarrow',[0.3563 0.3235],[0.8443 0.7912],...
'TextEdgeColor','none',...
'TextColor',[0 0 0],...
'TextBackgroundColor',[1 1 1],...
'String',{'atan2(y = 0.86, x = -0.5)*180/\pi = +120'});
annotation(f,'textarrow',[0.3563 0.3268],[0.1795 0.2473],...
'TextEdgeColor','none',...
'TextColor',[0 0 0],...
'TextBackgroundColor',[1 1 1],...
'String',{'atan2(y = -0.86, x = -0.5)*180/\pi = -120'});
% Speichern als Abb2_03.emf
print -f3 -dmeta -r300 Abb2_03
% Berechnungen
Phi = [45 135 225 315];
Yb = [0 0.71 1 0.71 0 -0 -0.71 -1 -0.71 0];
Xb = [1 0.71 0 -0.71 -1 -1 -0.71 0 0.71 1];
F = [Phi; sind(Phi); cosd(Phi); tand(Phi); cotd(Phi)];
P = [Phi;asind(F(2,:));acosd(F(3,:)); atand(F(4,:));...
atand(F(5,:))];
T = atan2(Yb,Xb)*180/pi;
disp(' Die Funktionswerte fr')
disp(' sind(Phi), cosd(Phi), tand(Phi) und cotd(Phi)')
fprintf(' Phi %4.0f %6.0f %6.0f %6.0f\n', F(1,:))
fprintf(' sin %+4.4f %+4.4f %+4.4f %+4.4f\n', F(2,:))
fprintf(' cos %+4.4f %+4.4f %+4.4f %+4.4f\n', F(3,:))
fprintf(' tan %+4.4f %+4.4f %+4.4f %+4.4f\n', F(4,:))
fprintf(' cot %+4.4f %+4.4f %+4.4f %+4.4f\n', F(5,:))
disp(' ')
2.3 Matrizen
Die Matrix23, 24 ist ein rechteckiges Zahlenschema von m Zeilen und n Spalten. Die Zahlen,
aus denen sich die Matrizen zusammensetzen, werden ihre Elemente genannt. Die Elemente
knnen reelle oder komplexe Zahlen sein:
23
Sylvester, James Joseph *3.9.1814 London 15.3.1897 London, Mathematiker. Der Begriff Matrix wurde
1850 von ihm eingefhrt. [Dietrich/Stahl-1963]
24
Cayley, Arthur *16.8.1821 Richmond, England 26.1.1885 Cambridge, Jurist und Mathematiker; verfasste
1858 die Theorie der Matrizen [Wuing u.a.-1992].
Beispiel 2.3
1 2 3
4 5 6
A=
7 8 9
0 11 12
Die Matrix A ist nach den beiden Mglichkeiten von MATLAB fr die Eingabe von Matri-
zen, wie durch die Gleichungen (2.6) und (2.7) beschrieben, einzugeben.
Lsung:
Die Matrix A ist vom Typ (4,3) A (m = 4 Zeilen, n = 3 Spalten).
1. Mglichkeit 2. Mglichkeit
>> A = [1 2 3;4 5 6;7 8 9;0 11 12] >> A = [1 2 3
456
789
0 11 12]
Beide Eingabemglichkeiten liefern das gleiche Ergebnis:
A=
1 2 3
4 5 6
7 8 9
0 11 12
Ist in einer Matrix mindestens ein Element eine Dezimalzahl, so werden alle Elemente
in Dezimalform ausgegeben!
Beispiel 2.4
Die Matrix Ad = [11 12 13;14 15 16;17 18 19;10 1,1 2] ist entsprechend Gleichung (2.6)
unter Beachtung des Wechsels zwischen Dezimalkomma und Dezimalpunkt einzugeben.
Lsung:
>> Ad = [11 12 13;14 15 16;17 18 19;10 1.1 -2]
Ad =
11.0000 12.0000 13.0000
14.0000 15.0000 16.0000
17.0000 18.0000 19.0000
10.0000 1.1000 -2.0000
Die Matrix A ist vom Typ (4,3), d.h. sie besteht aus 4 Zeilen und 3 Spalten.
Quadratische Matrizen
Quadratische Matrizen sind vom Typ (n,n) bzw. n-ter Ordnung. Sie haben bei der Beschrei-
bung von linearen dynamischen Systemen im Zustandsraum, als Systemmatrizen, eine fun-
damentale Bedeutung. Mit der Systemmatrix A sind die Begriffe charakteristisches Poly-
nom, Eigenwert und Eigenvektor verbunden.
Ausfhrliche Betrachtungen zu diesem Thema werden im Kapitel 8.3 angestellt.
Beispiel 2.6
Aus der Matrix A ist durch Streichen der dritten Zeile sowie der vierten und fnften Spalte
eine quadratische Matrix Aq zu bilden.
Lsung:
>> Aq = A([1:2 4],1:3)
Aq =
1 2 3
4 5 6
0 11 12
n n!
= (2.9)
( k )! k !
k n
aus dem Produkt der Kombinationen ohne Wiederholung der m Zeilen und der n Spalten:
m n m! n!
u = = (2.10)
( m r ) ! ( n r ) ! ( r !)
2
r r
Mit der M-function nchoosek berechnet sich die Anzahl u der quadratischen Untermatrizen:
Akl = ( 1)
k +l
Dkl (2.13)
wobei Dkl diejenige Determinante (n 1)-ter Ordnung ist, die durch Streichen der k-ten Zeile
und der l-ten Spalte aus D hervorgeht. Mit der M-function:
d = det(A) (2.14)
wird der Wert der Determinante einer quadratischen Matrix berechnet.
25
nach [Bronstein/Semendjajew-1991]
>> Beispiel2_07
M=
1 -2 -3 0
2 3 8 7
-1 1 1 -1
Typ(m,n) = (3,4)
Rang r = 2
Wert der Determinante von M3(1:3,1:3) = 0
Wert der Determinante von M2(1:2,1:2) = 7
Aus der Matrix M lassen sich 18 quadratische Untermatrizen bilden!
Die Matrix M besitzt m = 3 Zeilen und n = 4 Spalten, d.h. sie ist rechteckig vom Typ (3,4).
Ihr Rang ist r = 2. Dies bedeutet, dass keine von den 4 mglichen quadratischen Untermatri-
zen vom Typ (3,3) eine von null verschiedene Determinante besitzt, da alle vier Untermatri-
zen singulr sind. Von den 18 Untermatrizen des Typs (2,2) hat mindestens eine Untermatrix
eine von null verschiedene Determinante, d.h. sie ist nichtsingulr. Der Wert der Untermatrix
M(1:3,1:3) vom Typ (3,3), betrgt, wie zu erwarten war, null, d.h., sie ist singulr. Der Wert
der Untermatrix M(1:2,1:2) vom Typ (2,2), betrgt sieben, somit ist sie nichtsingulr.
At = A' (2.19)
Folgende Regeln gelten fr transponierte Matrizen:
(A )
T T
= A; ( A + B)
T
= A T + BT ; ( A B)
T
= BT A T (2.20)
Beispiel 2.8
Gesucht ist die transponierte Matrix At der Matrix A.
Lsung:
>> At = A'
At =
1 4 7 0
2 5 8 11
3 6 9 12
A A 1 = I (2.21)
(A )
1 1
= A; (A ) = (A )
1 T T 1
; ( A B)
1
= B 1A 1 (2.22)
Beispiel 2.9
Gesucht sind: die Inverse Aiq von Aq, IAq = AqAiq und der Wert der Determinante DAq.
Lsung:
>> Aiq = inv(Aq) >> IAq = Aq*Aiq
Aiq = IAq =
-0.2000 0.3000 -0.1000 1.0000 0 -0.0000
-1.6000 0.4000 0.2000 0 1.0000 -0.0000
1.4667 -0.3667 -0.1000 0 0 1.0000
Das negative Vorzeichen der Elemente IAq(1,3) und IAq(2,3) der Matrix IAq bedeutet, dass
diese Werte nicht exakt null sind. Sie ermitteln sich wie folgt:
26
Ausfhrliche Behandlung der Matrizenrechnung in [Gantmacher-1958] und [Gantmacher-1959]
Matrixoperationen
Beispiel im Command Window
Beschreibung
Eingabe Ausgabe
>> B = [1 -1 1;2 5 ans =
Addition
-1;4 0 2;-1 2 1]; 2 1 4
+
>> A + B 6 10 5
Bedingung:
11 8 11
mA = mB, nA = nB
-1 13 13
>> A - B ans =
Subtraktion
0 3 2
-
2 0 7
Bedingung:
3 8 7
mA = mB, nA = nB
1 9 11
Command Window
Beschreibung
Eingabe Ausgabe
>> A .* B ans =
1 -2 3
elementeweise Multiplikation
8 25 -6
.*
28 0 18
0 22 12
>> A ./ B ans =
1.0000 -2.0000 3.0000
elementeweise Division rechts
2.0000 1.0000 -6.0000
./
1.7500 Inf 4.5000
0 5.5000 12.0000
>> A .\ B ans =
1.0000 -0.5000 0.3333
elementeweise Division links
0.5000 1.0000 -0.1667
.\
0.5714 0 0.2222
-Inf 0.1818 0.0833
>> A.^2 ans =
1 4 9
elementeweises Potenzieren
16 25 36
.^
49 64 81
0 121 144
A
ABs = (2.25)
B
vom Typ (mA + mB,n) zusammenfassen.
Mit MATLAB geschieht dies wie folgt:
ABs = [A;B] (2.26)
Beispiel 2.11
Eine neue Matrix ist durch Stapeln der Matrizen A und B mit der MATLAB-Operation nach
Gleichung (2.26) zu bilden.
Lsung:
>> ABs = [A;B]
ABs =
1 2 3 7 8 9 1 -1 1 4 0 2
4 5 6 0 11 12 2 5 -1 -1 2 1
( )
1
S = D CA -1 B Q = A 1 BS
(2.31)
R = SC A -1 P = A -1 A 1 B R = A 1 ( I B R )
Fr den Wert der Determinante d von M gilt:
( ) (
d ( M ) = det ( A ) det D C A 1B = det ( D ) det A B D1C ) (2.32)
Beispiel 2.13
Fr die nachfolgend gegebene und nach Gleichung (2.29) zerlegte Matrix M, ist die inverse
Matrix nach Gleichung (2.30) mit Hilfe der Gleichungen (2.31) zu berechnen. Das Ergebnis
ist mit der M-function inv zu berprfen und aus beiden Ergebnissen die Differenz zu bilden.
1 0 0 1 1
0 1 2 3 3
M = 0 0 1 2 2
1 1 1 0 1
1 1 1 1 2
Lsung:
>> A = [1 0 0;0 1 -2;0 0 -1] >> B = [1 -1;3 -3;2 -2]
A= B=
1 0 0 1 -1
0 1 -2 3 -3
0 0 -1 2 -2
2.4 Vektoren
2.4.1 Skalar und Vektor
Die in der Anwendung der mathematischen Wissenschaften vorkommenden Begriffe, wie
z.B. Masse, Temperatur, Volumen, Energie, Potenzial und Arbeit, die durch einen einzigen
Zahlenwert eindeutig bestimmt sind, werden als Skalare bezeichnet. Daneben treten physika-
lische Gren auf, wie z.B. Geschwindigkeit, Beschleunigung, Kraft, Drehmoment, Impuls
und Feldstrke, die neben ihrem Zahlenwert noch durch die Angabe der Richtung in der sie
wirken, eindeutig beschrieben sind, diese werden als Vektoren bezeichnet.
Geometrisch stellt ein Vektor eine Strecke im Raum von bestimmter Lnge und Richtung
sowie einem bestimmten Richtungssinn dar. Ein Vektor verndert sich, wenn seine Lnge,
seine Richtung oder sein Richtungssinn gendert wird. Er hat einen Anfangspunkt und einen
Endpunkt27.
Ein Vektor ist in MATLAB eine Liste von Zahlen.
27
Rothe, Rudolf *15.10.1873 Berlin 26.1.1942 Berlin, Mathematiker, siehe auch [Rothe-1960]
a = [ a1 a2 an ] (2.33)
ist vom Typ (1,n) und heit Zeilenvektor bzw. einfach Zeile.
Matrizen, wie in Gleichung (2.34) angegeben, sind vom Typ (m,1) und werden als Spalten-
vektoren oder einfach Vektoren bezeichnet:
b1
b
b = 2 (2.34)
M
bn
Bei der Eingabe von Vektoren sind die Hinweise fr die Eingabe von Matrizen zu beachten,
d.h. bei Zeilen, wie in Gleichung (2.33), sind die einzelnen Elemente durch Leerzeichen oder
Kommata getrennt einzugeben. Bei Spaltenvektoren, wie der in der Gleichung (2.34) aufge-
fhrte Vektor b, sind die Elemente durch Semikolons zu trennen:
b = [b1 ; b2 ; L ; bn ] (2.35)
Spaltenvektoren knnen aber auch als transponierte Zeilenvektoren eingegeben werden, dann
mssen die Semikolons entfallen, dafr ist nach der schlieenden Klammer ein Hochkomma
als Zeichen fr das Transponieren zu setzen:
a = norm(a) (2.38)
uuuur
v = P1 P2 = v 2 v1 (2.39)
berechnet sich der Abstand zu:
( x2 x1 ) + ( y2 y1 ) + ( z2 z1 )
2 2 2
P1 P2 = (2.40)
Beispiel 2.14
Eine hufig zu lsende Aufgabe ist die Zerlegung eines Vektors in vorgegebene Richtungen.
An der in Abb. 2.4 dargestellten Tragkonstruktion aus drei an der Wand gelenkig gelagerten
Stben s1, s2, s3 hngt eine Masse m = 9,1774 kg mit dem Betrag des Vektors der Gewichts-
kraft G = 90 N.
Es ist der Vektor gv der Gewichtskraft G in die in den Stben auftretenden Reaktionskrfte,
beschrieben durch die Vektoren f1, f2, f3, zu zerlegen. Daraus sind die Betrge F1, F2 und F3
der Reaktionskrfte zu ermitteln.
Lsungshinweise:
Die Vektoren fi der Reaktionskrfte wirken parallel zu den Vektoren si der Stabachsen. Es
sind die in Abb. 2.5 dargestellten geometrischen Zusammenhnge, erzeugt durch den
Skript2_02, zu verwenden.
'HeadLength',10);
annotation('textarrow',...
[0.7768 0.8304],[0.1119 0.15],...
'String',{'x'});
annotation('textarrow',...
[0.4 0.3482],[0.07381 0.1262],...
'String',{'y'});
annotation('textarrow',...
[0.07679 0.07679],[0.4405 0.5286],...
'String',{'z'});
% Speichern als Abb2_05.emf
print -f1 -dmeta -r300 Abb2_05
% Ende des Skrip2_02
s3 B
3
1 s2
0 A
z 4
s1
F3
3 3
2
D
2 1
0 F1
1 -1
F2
-2
0 G=mg x
-3
y
Lsung:
Fr die Summe der am Schnittpunkt D (0,0,0) auftretenden Kraftvektoren (Ausgangsglei-
chung) gilt:
f1 + f 2 + f3 + g v = 0
Der Vektor der Gewichtskraft gv wirkt nur in der z-Achse und das in negativer Richtung.
Die drei Stabvektoren ergeben sich aus den Koordinaten des Endpunktes minus den Koordi-
naten des Anfangpunktes!
Die Kraft F1 wird als Druckkraft angenommen, so dass ihr Vektor von A (-3,4,0) nach
D (0,0,0) parallel zur Stabachse s1 wirkt.
uuur
s1 = AD = D ( 0;0;0 ) A ( 3; 4;0 )
Die Kraft F2 wird ebenfalls als Druckkraft angesetzt, so dass ihr Vektor von B (3,4,0) nach
D (0,0,0) parallel zur Stabachse s2 wirkt.
Dagegen wird F3, der Erfahrung entsprechend, als Zugkraft angenommen, so dass ihr Vektor
von C (0,4,3) nach D (0,0,0) parallel zur Stabachse s3 wirkt.
Die Proportionalitt zwischen Stab- und Kraftvektor wird durch den Faktor pi ausgedrckt:
uuur uuur uuur
f1 = p1 s1 = p1 AD; f 2 = p2 s 2 = p2 BD; f3 = p3 s3 = p3 DC
Mit
p1
S = [ s1 s2 s3 ] und p = p2 wird S p = g v und daraus folgt p = S 1 g v
p3
Aus der Multiplikation der Proportionalittsfaktoren mit den Stabvektoren ergeben sich die
drei Kraftvektoren:
Damit ist der Gewichtsvektor gv in die drei Kraftvektoren f1, f2, f3 zerlegt.
28
mglich ist auch: p = inv(S)*(-gv)
Mit der M-function norm nach Gleichung (2.38) werden nun noch die Betrge F1, F2 und F3
der Kraftvektoren bestimmt:
>> F1 = norm(f1) >> F2 = norm(f2) >> F3 = norm(f3)
F1 = F2 = F3 =
75 75 150
F1 = f1 = 75 N; F2 = f 2 = 75 N; F3 = f3 = 150 N
Die Summe der Vektoren der drei Krfte und der Gewichtskraft mssen die Ausgangsglei-
chung erfllen, in dem sich ein Nullvektor ergibt!
>>n = f1 + f2 + f3 + gv n=
0
0
0
Skalarprodukt
Das skalare Produkt ab der Vektoren a und b ergibt eine Zahl. Sie berechnet sich wie folgt:
ab = dot(a,b) (2.43)
Beispiel fr das Auftreten eines skalaren Produkts: Das Produkt aus einer lngs eines Weges
s aufgebrachten konstanten Kraft F ist als Arbeit A definiert. Die Kraft und der Weg sind
Vektoren, deren Richtungen bereinstimmen mssen. In den nicht seltenen Fllen, dass diese
Richtungen nicht bereinstimmen, ist der Kraftvektor f in eine Komponente mit der Wir-
kungsrichtung des Weges, der Lngskraft fs, und einer Normalkraft fn, sie ist die Komponen-
te senkrecht zur Wegrichtung, zu zerlegen. Fr den Lngskraftvektor gilt:
f s = f cos ( ) (2.44)
Hierbei ist der von dem Kraftvektor mit dem Wegvektor gebildete Winkel. Nur der Lngs-
kraftvektor liefert einen Beitrag zur Arbeit, somit folgt:
ab
= arc cos (2.46)
a b
und mit der M-function acos im Bogenma:
phi = acos(dot(a,b)/norm(a)/norm(b)) (2.47)
Beispiel 2.15
Fr die Vektoren a = [3 4 0] und b = [3 4 0] sind die Betrge, der Wert des Skalarproduktes
mit den Gleichungen (2.42) und (2.43) sowie der Winkel zwischen den beiden Vektoren in
Grad mit der Gleichung (2.48) gesucht.
Lsung:
>> a = [3 4 0] >> b = [-3 4 0] >> an = norm(a) >> bn = norm(b)
a= b= an = bn =
3 4 0 -3 4 0 5 5
Beispiel fr das Auftreten eines vektoriellen Produkts: An einem Krper, welcher mittels
einer Drehachse gelagert ist, greift ber einen Hebelarm r eine Kraft F so an, dass der Kr-
per eine Drehung ausfhrt. Ursache dafr ist das auf den Krper wirkende Moment. Die
Vektoren Hebelarm r und Kraft f schlieen den Winkel ein. Von dem Hebelarm r kommt
nur der Anteil zur Wirkung, der rechtwinklig von dem Kraftvektor zum Drehpunkt zeigt:
rn = r sin ( ) (2.52)
so dass die Kraft als Tangentialkraft wirkt. Daraus ergibt sich fr den Vektor des Moments:
Beispiel 2.16
Der Vektor r des Hebelarms R beginnt im Drehpunkt P0(0,0,0) und endet in P1(3,4,0). Der
Vektor f der Kraft F beginnt am Endpunkt des Hebelarmvektors und endet in P2(3,4,0). Aus
den gegebenen Koordinaten sind die Vektoren des Hebelarms und der Kraft sowie Ihre Be-
trge zu bestimmen. Mit Hilfe des Vektorprodukts m = f r ist der Vektor des Moments mit
den Gleichungen (2.50) und (2.51) zu berechnen. Das Ergebnis ist grafisch darzustellen. Der
Betrag des Moments M [Nm] ist zu bestimmen und mit dem Produkt aus den Betrgen der
Vektoren des Hebelarms R [m] und der Kraft F [N] zu vergleichen.
Lsung:
% Beispiel 2.16
% Skript zum Erzeugen des 3D-Bildes Abb. 2.6
% Der Vektor r des Hebelarms R beginnt im Drehpunkt P0(0,0,0) und endet
% in P1(3,4,0). Der Vektor f der Kraft F beginnt am Endpunkt des
% Hebelarmvektors und endet in P2(3,4,0). Aus den gegebenen Koordinaten
% sind die Vektoren des Hebelarms und der Kraft sowie Ihre Betrge zu
% bestimmen. Mit Hilfe des Vektorprodukts m = f x r ist der Vektor des
% Moments mit den Gleichungen (2.50) und (2.51) zu berechnen.
% Das Ergebnis ist grafisch darzustellen. Der Betrag des Moments M [Nm]
% ist zu bestimmen und mit dem Produkt aus den Betrgen der Vektoren
% des Hebelarms R [m] und der Kraft F [N] zu vergleichen.
% Drehpunkt
P0 = [0 0 0];
% Koordinatenpunkte
P1 = [-3 4 0]; P2 = [3 4 0];
% Vektoren
r = P1 - P0; % des Hebelarms
f = P2 - P1; % der Kraft
% Hebelarm in [m]
R = norm(r);
% Kraft in [N]
F = norm(f);
% Vektor des Moments
m = [det([f(2) f(3);r(2) r(3)]) det([f(1) f(3);...
r(1) r(3)]) det([f(1) f(2);r(1) r(2)])]; fxr = cross(f,r);
% Moment in [Nm]
M = norm(m);
FR = F*R; % Produkt der Betrge in [Nm]
% Winkel zwischen dem Hebelarm und der Kraft
phi_m = acos(dot(r,f)/R/F);
% Vektor der Normalkomponente des Hebelarms
rN = r*sin(phi_m);
% Betrag der Normalkomponente in [m]
RN = norm(r*sin(phi_m));
% Bild 2.3
axes('ZTick',[0 6 12 18 24]), hold on, axis([-3 3 0 5 0 24])
view(-37.5,60); box('on');
text('FontWeight','bold','HorizontalAlignment',...
'center','Position',[-2.5,3.75,0],'String','r')
text('FontWeight','bold','HorizontalAlignment',...
'right','Position',[2.5 4.6 0],'String','f')
text('FontWeight','bold','HorizontalAlignment',...
'left','Position',[0.15 0 21],'String','m = f x r');
text(0.5,0.25,0,'P_0','VerticalAlignment','middle',...
'HorizontalAlignment','center')
text(-2.75,4.25,0.75,'P_1','VerticalAlignment','middle',...
'HorizontalAlignment','center')
text(2.8,5.1,2.5,'P_2','VerticalAlignment','middle',...
'HorizontalAlignment','center')
annotation('arrow',[0.6839 0.1982],[0.2357 0.3714],'Color',[0 0 0]);
annotation('arrow',[0.1946 0.5714],[0.369 0.6881],'Color',[0 0 0]);
annotation('arrow',[0.6857 0.6857],[0.2357 0.4691],'Color',[0 0 0]);
% Speichern als Abb2_06.emf
print -f1 -dmeta -r300 Abb2_06
% Ende des Beispiels 2.16
P2
24
18 f
12
6
0 m=fxr
5 P1
r
4
3
3 P0 2
1
2 0
1 -1
-2
0 -3
Abb. 2.6 Das Moment als Kreuzprodukt aus Kraft- und Hebelarmvektor
Das Produkt der Betrge der Vektoren des Hebelarms und der Kraft liefert FR = 30 Nm, da
aber nur die Normalkomponente des Hebelarms RN einen Beitrag zum Betrag des Moments
liefert, ergibt sich:
M = F RN = 24 Nm
Beispiel 2.17
Fr das gegebene System sind die Matrix C sowie der Ergebnisvektor c aufzustellen:
10 x1 + 6 x2 x3 = 19
3 x1 + 9 x2 + 2 x3 = 27 A C x = c
x1 4 x2 + 8 x3 = 17
Die Unbekannten des Vektors x sind mit den M-functions inv und Division links zu lsen.
Lsung:
>> C = [10 6 -1;3 9 2;1 -4 8] >> c = [19;27;17]
C= c=
10 6 -1 19
3 9 2 27
1 -4 8 17
2.5 Polynome
a5 s 5 + a4 s 4 + a2 s 2 + a1 s (2.54)
lautet in seiner vollstndigen Darstellung:
a5 s 5 + a4 s 4 + 0 s 3 + a2 s 2 + a1 s + 0 (2.55)
Beispiel 2.18
Das nachfolgende Polynom ist im Command Window einzugeben:
p = 5 s5 3 s 4 + s 2 + 2 s
Lsung:
>> p = [5 -3 0 1 2 0]
p=
5 -3 0 1 2 0
MATLAB ermittelt aus der Anzahl der Koeffizienten den Grad des Polynoms und geht
davon aus, dass der am weitesten links stehende Koeffizient zu der Variablen mit der
hchsten Potenz gehrt.
n = length(p) 1 (2.56)
Beispiel 2.19
Der Grad des Polynoms p aus dem Beispiel 2.18 ist mit Gleichung (2.56) zu bestimmen.
Lsung:
>> n = length(p) - 1
n=
5
p = conv(p1,p2) (2.57)
Beispiel 2.20
Das Produkt der Polynome p1 und p2 ist mit der Funktion nach Gleichung (2.57) zu bestim-
men.
p1 = 5 s 4 3 s 2 + s + 6 p2 = s 2 + 5 s + 6
Lsung:
>> p1 = [5 0 -3 1 6] >> p2 = [1 5 6]
p1 = p2 =
5 0 -3 1 6 1 5 6
>> pm = conv(p1,p2)
pm =
5 25 27 -14 -7 36 36
p3 = s 2 + 5 s + 4
mit der M-function nach Gleichung (2.58) zu dividieren.
Lsung:
>> p3 = [1 5 4] >> [q,r] = deconv(pm,p3)
p3 = q= r=
1 5 4 5 0 7 -49 210 0 0 0 0 0 -818 -804
Das Ergebnis:
pm r q = 5 s 4 + 7 s 2 49 s + 210
=q+
p3 p3 r = 818 s 804
zeigt, dass die Division neben dem Quotienten q noch einen Rest r liefert. Der Rest r htte
den Wert null, wenn p3 vollstndig in pm enthalten wre!
Beispiel 2.22
Die Polynome 4. Grades p1 und 2. Grades p2 aus Beispiel 2.20 sind zu addieren.
Lsung:
Das Polynom p2 ist nach links mit zwei Nullen aufzufllen:
pa = p1 + 0 s 4 + 0 s 3 + p2
29
Gau, Carl Friedrich *30.4.1777 Braunschweig 3.2.1855 Gttingen, Mathematiker
pNu = p 3 + 6 p 2 + 13 p + 20
mit den bekannten Nullstellen:
>> Nup = roots(pNu) Nup =
-4.0000 + 0.0000i
-1.0000 + 2.0000i
-1.0000 - 2.0000i
Px = polyval(p,x) (2.62)
Beispiel 2.25
Es ist der Wert des Polynoms pNu aus Beispiel 2.24 an der Stelle x = 4 zu berechnen.
Lsung:
>> P_4 = polyval(pNu,-4)
P_4 =
0
Da bei x = 4 eine Nullstelle des Polynoms pNu liegt, muss der Funktionswert an dieser Stelle
gleich null sein.
dp = polyder(p) (2.63)
Weiterhin kann mit ihr die Ableitung des Produktpolynoms aus p1 und p2 berechnet werden:
=
(
dpm d 5 s + 25 s + 27 s 14 s 7 s + 36 s + 36
6 5 4 3 2
)
dp dp
dpm
= 30 p 5 + 125 p 4 + 108 p 3 42 p 2 14 p + 36
dp
Wie zu erwarten, stimmen die Ergebnisse berein.
Beispiel 2.27
Die Verlufe der beiden Funktionen:
L ( ) = 20 lg 4 + 2 und ( ) = arctan ( T )
sind als zwei getrennte Graphiken in einer Figur untereinander ber dem lg( ) in den Gren-
zen von 102 bis 102 darzustellen. Die y-Achse fr die Funktion L( ) soll folgende Einteilung
[40 30 20 10 0] erhalten. Fr die Funktion ( ) soll die y-Achse in [90 45 0] einge-
teilt werden. Die Beschriftungen der y-Achse mit |L| [dB30] und [] sind horizontal und
links vom Nullpunkt darzustellen. Die x-Achsen sind mit lg() und die Titel mit Amplitu-
dengang L() bzw. Phasengang () zu beschriften.
30 74
Zu dB = Dezibel, siehe Funote
Lsung:
% Beispiel 2.27
% Stellt die Abb. 2.7 dar.
% Frequenzen
w =logspace(-2,2);
% Zeitkonstante
T = 2;
% 1. Bild von 2 Bildern
subplot(2,1,1)
% Amplitudenwerte
L = -20*log10(sqrt(4 + w.^2));
% Darstellung des Amplitudenganges
semilogx(w, L,'k'),grid
% Festlegen der Einteilung der y-Achse
set(gca,'ytick',[-40 -30 -20 -10 0])
% Titel des 1. Bildes
title('Amplitudengang L(\omega)')
% Achsenbezeichnungen
xlabel('lg \omega'), text(3e-3, 0, '|L| [dB]')
Amplitudengang L( )
|L| [dB] 0
-10
-20
-30
-40
-2 -1 0 1 2
10 10 10 10 10
lg
Phasengang ()
[] 0
-45
-90
-2 -1 0 1 2
10 10 10 10 10
lg
Beispiel 2.28
Es sind die Achseneinteilungen 'XTick' und 'YTick' sowie die 'Position' und Gre in der
Position enthalten der beiden Grafiken in Abb. 2.7 zu ermitteln. Vorher ist die Maeinheit
'units' in der Figur auf 'centimeter' zu setzen.
Lsung:
% Beispiel 2.28
% Die Lsung dieser Aufgabe setzt voraus, dass Abb. 2.7
% geffnet ist, d. h. Beispiel 2.27 muss gelst sein!
disp(' Lsungen zum Beispiel 2.28')
% der 1. Subplot wird zum aktuellen Subplot
subplot(2,1,1), a1 = gca;
fprintf('Nummer des 1. Subplots: %6.4f\n',a1)
% der 2. Subplot wird zum aktuellen Subplot
subplot(2,1,2); a2 = gca;
fprintf('Nummer des 2. Subplots: %6.4f\n',a2)
fprintf('Nummer der aktuellen Figur: %d\n',gcf)
% Setzt die Maeinheit der aktuellen Figur auf 'cm'
set(gcf,'units','centimeter')
disp('Abstand [cm] von links von unten Breite Hhe ')
% Gibt die Position und Gre des 1. Subplots aus
Sub1 = get(a1,'Position');
fprintf('Sub1: %10.4f %10.4f %10.4f %10.4f\n',Sub1)
% Gibt die Position und Gre des 2. Subplots aus
Sub2 = get(a2,'Position');
fprintf('Sub2: %10.4f %10.4f %10.4f %10.4f\n',Sub2)
% Einteilung der Achsen
disp(' Einteilung der beiden x-Achsen, Frequenz [1/s]')
X12 = get(a1,'XTick');
fprintf('X12 = %1.4f %1.4f %1.4f %1.4f %1.4f\n',X12)
disp(' Einteilung der y-Achsen')
Y1 = get(a1,'YTick');
fprintf('L(w)[dB]: %4d %4d %4d %4d %4d\n',Y1)
Y2 = get(a2,'YTick');
fprintf(' Phi(w): %4d %3d %2d \n',Y2)
% Ende des Beispiels 2.28
>> Beispiel2_28
Lsungen zum Beispiel 2.28
Nummer des 1. Subplots: 170.0022 Nummer des 2. Subplots: 175.0022
Nummer der aktuellen Figur: 1
Beispiel 2.29
Gegeben ist die Funktion:
>> Wf = functions(W)
Wf =
function: '@(w)(w-1/Tt*(pi-atan(T*w)))'
type: 'anonymous'
file: ' '
workspace: {[1x1 struct]}
Die Winkelbedingung wird mit bzw. 180 erfllt. Siehe auch Beispiel 3.4!