4 ei* kann Spuren von Katzen enthalten nicht für Humorallergiker geeignet alle Angaben ohne Gewehr *
Numerische Metho- den der Elektrotech- nik
1. Grundlagen
1.1. Numerik
f(x) =y ⇒ f(˜˜x) = ˜yliefert eine zahlenm¨aßige L¨osung eines Problems mit einem Algorithmus fMathematisches Problem f˜Numerischer Algorithmus xexakte Problemdaten ˜xgerundete Problemdaten yexaktes Ergebnis y˜gerundetes Ergebnis
1.2. Fehlertypen
Datenfehler:Eingabedaten aus ungenauer Messung
Verfahrensfehler:Diskretisierung von Gleichungen, Endliche Iteration Rundungsfehler:(Zwischen-)Ergebnisse nur mit Maschinengenauigkeit
1.3. Numerische Qualit¨ atsmerkmale
Konsistenz:Wie gut l¨ost das Verfahren tats¨ach. das Problemf˜(x)→y?
ResiduumR < C·hp Schrittweiteh, Konsistenzordn.p Kondition:Wie stark schwankt das Problem bei St¨orungf(˜x)→y? Stabilit¨at:Wie stark schwankt das Verfahren bei St¨orungf(˜˜x)→f˜(x) Konvergenz:Algorithmus stabil und konsistent:f(˜˜x)→f(x)→˜ y
1.4. Spektralradius
Spektralradiusρ(Ae
)einer MatrixA e
:Betragsm¨aßig gr¨oßter Eigenwert.
Konvergenzbeweis aller Verfahren: Gershgorinkreise um die Null mitr≤1 ρ(A
e ) = max
i |λi|
1.5. Diagonaldominanz
Diagonalelemente sind gr¨oßer als die restlichen Elemente der selben Zeile:
A e
= (aij) diagonaldominant
strikt diagonaldominant⇔ |aii|≥
>
Pn j=1,j̸=i
aij ∀i
1.6. Definitheit
A e
positiv definit positiv semidefinit⇔λi>
≥0∀i bzw. ⃗xTA e
⃗ x>
≥0∀⃗x̸= 0
1.7. Kondition
Ein Maß wie stark sich Eingabefehler auf die Ausgabe auswirken.
κabs(x) = f′(x)
κrel(x) =
f′(x) f(x) x
= f′(x)
·|x|
|f(x)|
Fallsκrel≪100: gute Konditionierung
Verkettungh=g(f(x)) κhabs(x) =κgabs(f(x))κfabs(x) f¨ur⃗y=A
e
⃗
x ⇒ cond(A
e ) =
A
e
−1 ·
A
e cond(A
e
)→ ∞schlecht,cond(A e
)→1gut
1.8. Fehler
Absolut:
f(x)˜ −f(x)
Relativ:
f(x)−f(x)˜
∥f(x)∥
1.9. Residuum
⃗r=⃗b−A e⃗ x
bezeichnet die Abweichung vom gew¨unschten Ergebnis, wenn N¨aherungsl¨osungen eingesetzt werden.⃗rklein⇒rel. Fehler≪1.
1.10. Parametrisierung einer Geraden
g(x) =ax+b y1=g(x1) a= yx1−y2 1−x2 y2=g(x2) b=x1xy2−x2y1
1−x2
1.11. Schnittpunkt zweier Geraden
a11x1+a12x2=b1 x1=aa22b1−a12b2 11a22−a12a21 a21x1+a22x2=b2 x2=a−a21b1 +a11b2 11a22−a12a21
1.12. Matrizen
A e∈Km×n (A
e +B
e )⊤=A
e
⊤+B e
⊤ (A
e
·B e
)⊤=B e
⊤·A e
⊤ (A
e
⊤)−1= (A e
−1)⊤ (A
e
·B e
)−1=B e
−1A e
−1 1.12.1. Dimensionen
Bildraum Nullraum
BildA e
= A
e
⃗ x
⃗x∈Kn kerA e
=
⃗x∈Kn A
e
⃗ x=⃗0 rangA
e
= dim(BildA e
) defA
e
= dim(kerA e ) rangA
e
=rist Anzahl. lin. unab. Spaltenvektoren.
A e
erzeugtK⇔r=n A e
ist Basis vonK⇔r=n=m dimK=n= rangA
e
+ dim kerA e
rangA e
= rangA e
⊤ 1.12.2. Quadratische MatrizenA∈Kn×n
regul¨ar/invertierbar/nicht-singul¨ar⇔det(A e
)̸= 0⇔rangA e
=n singul¨ar/nicht-invertierbar⇔det(A
e
) = 0⇔rangA e
̸=n orthogonal⇔A
e
⊤=A e
−1⇒det(A e
) =±1 symmetrisch:A
e
=A e
⊤ schiefsymmetrisch:A
e
=−A e
⊤ hermitsch:A
e
=A e
⊤ unit¨ar:A
e
−1=A e
⊤ 1.12.3. Determinante vonA
e
∈Kn×n:det(A e
) =|A e
| det
"
A e
0 C e
e D f
#
= det
"
A e
B 0 e e
D f
#
= det(A e
) det(D f ) det(A
e ) = det(A
e
T) det(A
e
−1) = det(A e
)−1 det(A
e B
e ) = det(A
e ) det(B
e ) = det(B
e ) det(A
e ) = det(B
e A
e ) HatA
e
2 linear abh¨ang. Zeilen/Spalten⇒ |A e
|= 0 Entwicklung. n.jter Zeile:|A
e
|= n P i=1
(−1)i+j·aij· |A e
ij| 1.12.4. Eigenwerteλund Eigenvektorenv
A e
⃗
v=λ⃗v detA e
=Qλi SpA e
=Paii=Pλi Eigenwerte:det(A
e
−λ1 e
) = 0Eigenvektoren:ker(A e
−λi1 e
) =⃗vi EW von Dreieck/Diagonal Matrizen sind die Elem. der Hauptdiagonale.
1.12.5. Spezialfall2×2MatrixA det(A
e
) =ad−bc Sp(A
e ) =a+d
"
a b c d
#−1
=det1A e
"
d −b
−c a
#
λ1/2=SpA 2e±
sspA 2e
2
−detA e 1.12.6. Spezielle Matrizen
DiagonalmatrixD f
:detD f
=Q di D
f
−1= diag (d1, . . . , dn)−1= diag
d−11 , . . . , d−1n
1.13. Norm
|| · ||Definition: Zahl, die die
”Gr¨oße“ eines ObjektsXbeschreibt.
Jede Norm muss folgende 3 Axiome erf¨ullen::
1. Definitheit:∥X ∥ ≥0mit∥X ∥= 0⇔ X= 0
2. absolute Homogenit¨at:∥α· X ∥=|α| · ∥X ∥ (αist skalar) 3. Dreiecksungleichung:∥X+Y∥ ≤ ∥X ∥+∥Y∥
1.13.1. Vektornormen: (⃗x∈Kn,P
voni= 0bisn) Summen ∥⃗x∥1=P
|xi| Euklidische ∥⃗x∥2=pP
|xi|2 Maximum∥⃗x∥∞= max|xi| Alg. p-Norm∥⃗x∥p= (P
|xi|p)1/p
1.13.2. Matrixnormen (A e
∈Km×n, i∈[0, m], j∈[0, n]) F¨ur Matrixnormen gilt zu den 3 Standard Axiomen zus¨atzlich:
4. Submultiplikativit¨at:
A
e +B
e ≤
A
e ·
B
e
Gesamtnorm
∥A e
∥M=∥A e
∥G
√mn
∥A e
∥G= √ mn·max
i,j aij
Zeilennorm (max Zeilensumme) ∥A
e
∥∞= max i
Pn j=1
aij
Spaltennorm (max Spaltensumme) ∥A e
∥1= max j
n P i=1
aij Frobeniusnorm
euklidische Norm (||I
e
||E=√
n) ∥A
e
∥E= r P i=1
P j=1
aij 2 Spektralnorm, Hilbertnorm ∥A
e
∥λ= q
λmax(A e
⊤·A e )
1.14. Jacobi-Matrix
f⃗:Rn→Rm∂
∂⃗x f⃗(⃗x) =J
e f(x) =
∂f1
∂x1 . . . ∂f1
∂xn ..
.
.. .
∂fm
∂x1 . . . ∂fm
∂xn
=
(∇f1)T
.. . (∇fm)T
1.15. Wichtige Formeln
Dreiecksungleichung:
|x| − |y|
≤ |x±y| ≤ |x|+|y|
Cauchy-Schwarz-Ungleichung:
⃗x⊤·⃗y
≤ ∥⃗x∥ · ∥⃗y∥
Bernoulli-Ungleichung: (1 +x)n≥1 +nx Arithmetische Summenformel Pn
k=1
k=n(n+1)2 Geometrische Summenformel
n P k=0
qk=1−qn1−q+1
Binomialkoeffizient n
k
= n n−k
=k!·(n−k)!n!
1.16. Sinus, Cosinus
sin2(x)+cos2(x) = 1 ejx= cos(x) + j·sin(x)x 0 π/6 π/4 π/3 12π π 32π 2π
φ 0 deg 30 deg 45 deg 60 deg 90 deg 180 deg 270 deg 360 deg
sin 0 12 √1
2
√3
2 1 0 −1 0
cos 1
√3
2 √1
2 1
2 0 −1 0 1
tan 0
√3
3 1 √
3 ±∞ 0 ∓∞ 0
Additionstheoreme Stammfunktionen cos(x−π2) = sinx ´
xcos(x) dx= cos(x) +xsin(x) sin(x+π2) = cosx ´
xsin(x) dx= sin(x)−xcos(x) sin 2x= 2 sinxcosx ´
sin2(x) dx= 12 x−sin(x) cos(x) cos 2x= 2 cos2x−1 ´
cos2(x) dx= 12 x+ sin(x) cos(x) sin(x) = tan(x) cos(x) ´
cos(x) sin(x) =−1 2cos2(x) Sinus/Cosinus Hyperbolicussinh,cosh
sinhx= 12(ex−e−x) =−j sin(jx) cosh2x−sinh2x= 1 coshx=12(ex+e−x) = cos(jx) coshx+ sinhx=ex Kardinalsinussi(x) =sin(x)x genormt:sinc(x) =sin(πx)πx
1.17. Integrale
´exdx=ex= (ex)′ Partielle Integration: ´
uw′=uw−´ u′w
Substitution: ´
f(g(x))g′(x) dx=´ f(t) dt
F(x) f(x) f′(x)
1
q+1xq+1 xq qxq−1
2
√ ax3 3
√ax 2√aax
xln(ax)−x ln(ax) 1x
1
a2eax(ax−1) x·eax eax(ax+ 1) ax
ln(a) ax axln(a)
−cos(x) sin(x) cos(x)
cosh(x) sinh(x) cosh(x)
−ln|cos(x)| tan(x) 1
cos2 (x)
´eatsin(bt) dt=eat asin(bt)+bcos(bt) a2 +b2
´ √dt at+b=2
√at+b a
´t2eatdt= (ax−1)2 +1 a3 eat
´teatdt=at−1
a2 eat ´
xeax2dx=2a1eax2
1.18. Exponentialfunktion und Logarithmus
ax=exlna logax= lnxlna lnx≤x−1 ln(xa) =aln(x) ln(xa) = lnx−lna log(1) = 0
1.19. Reihen
∞ P n=1
1 n→ ∞ Harmonische Reihe
∞ P n=0
qn|q|<1= 1−q1 Geometrische Reihe
∞ P n=0
zn n! =ez Exponentialreihe
2. L¨ osung nichtlinearer Gleichungen
Exakte L¨osungx∗, Fehlerϵ=x−x∗
2.1. Iterationsverfahren (Nullstellensuche)
Problem:f(x) = 0, f(x)stetig in[a, b]undf(a)·f(b)<0 Gesucht:x∗:f(x∗) = 0, a≤x∗≤b
Konvergenz:ε(k+1)=12ε(k)= 1 2
k+1 ε(0) Iterationsschritte bisε < τ:k=
ld
ε(0)
τ
2.2. Fixpunktiteration (alg. Iterationsverfahren)
Jedes Problemf(x) =g(x)l¨asst sich als Fixpunktproblem schreiben:
x∗= Φ(x∗) :=f(x)−g(x) +x x(k+1)= Φ(x(k))
x⋆= Φ(x⋆) Falls
Φ′(x⋆)
<1⇒Konvergenz bzw. stabiler Fixpunkt Falls0<
Φ′(x⋆)
<1⇒lineare Konvergenz mit ε(k+1)≈Φ′(x⋆)ε(k)
FallsΦ′(x⋆) = 0undΦ′′(x⋆)̸= 0⇒quadratische Konvergenz Allgemein:Konvergenzordnungn⇔
Φ′(x⋆) = Φ′′(x⋆) =. . .= Φ(n−1)(x⋆) = 0undΦ(n)(x⋆)̸= 0
2.3. Newton-Raphson
Funktion durch Gerade ann¨ahern und Nullstelle bestimmen. An dieser Stel- le den Vorgang wiederholen. Nur lokale Konvergenz
Ausgangsproblem:
f(x) = 0 x(k+1)=x(k)− f(x(k))
f′(x(k))=: Φ x(k)
2.3.1. Konvergenz Falls
Φ′(x⋆)
<1⇒Konvergenz bzw. stabiler Fixpunkt
Fallsf′(x⋆)̸= 0(einfache Nullstelle)⇒quadratische Konvergenz mit ε(k+1)=1
2 f′′(x⋆)
f′(x⋆)ε(k) 2
Fallsf′(x⋆) = 0(Nullstellengradn >1)⇒lineare Konvergenz mit Konvergenzfaktor= n−1
n 2.3.2. Sekanten-Methode
Falls die Auswertung vonf′(x)vermieden werden soll:
x(k+1)=x(k)− f(x(k))
x(k)−x(k−1) f(x(k))−f(x(k−1)) 2.3.3. Mehrdimensional
Theoretisch:
⃗x(k+1)=⃗x(k)−J e
−1 f⃗
⃗ x(k)
f⃗(x(k)) Praktisch:
J e f⃗
⃗x(k)
⃗x(k+1)=J e f⃗
⃗x(k)
·
⃗
x(k)−f(x⃗ (k)
Homepage:https://makeappdev.github.io/TUM-Projekte/– Fehler bittesofortmelden. von Markus Hofbauer, Kevin Meyer und Benedikt Schmidt – Mail:latex@kevin-meyer.de Stand: 18. January 2020 um 16:22 Uhr (git 26) 1/4
3. L¨ osung linearer Gleichungssysteme
Ausgangsproblem:
A e
⃗ x=⃗b
A e
=M f
−N f
Systemmatrix D
f
Diagonalmatrixdiag(diag(A e )) L
e
Linke untere Dreiecksmatrixtril(A e
,−1) U
e
Rechte obere Dreiecksmatrixtriu(A e
,1) A
e
=D f
+L e
+U e
, keine LR-Zerlegung!
3.1. Allgemeines Iterationsverfahren
Mit beliebiger, invertierbarer MatrixCe
∈Rn×ngilt Umformung:
A e
⃗ x=⃗b⇔C
e
⃗ x=C
e
⃗ x−A
e
⃗
x+⃗b⇔⃗x= (1 e
−C e
−1A e
)⃗x+C e
−1⃗b W¨ahleK
f
= (1 e
−C e
−1A e
)(alles vor dem⃗x) Verfahren konvergiert allgemein, wenn Spektralradiusρ(K
f )<1
3.2. Jacobi-Verfahren
Konvergiert fallsρ(Kf
j)<1oder fallsA e
strikt diagonaldominant Spektralradiusρ(K
f
j) = max|λi(A e
)|mitλiEW.
K f
j=D f
−1(−L e
−U e ) Matrixdarstellung:
⃗
x(k+1)=K f
j⃗x(k)+D f
−1⃗b Komponentenweise:
x(k+1)i = 1 aii
bi− n X j=1,j̸=i
aijx(k)j
Vorkonditionierung:
P e
=D f
−1 ⇒ P e A
e
⃗ x=P
e
⃗b
3.3. Gauß-Seidel-Verfahren
Unterschied zu Jacobi: Komponentenweise Berechnung von⃗xmit bereits iterierten Werten. (K¨urzere Iterationszyklen)
K f
gs=−(D f
+L e
)−1U e Matrixdarstellung:
⃗
x(k+1)=K f
gs⃗x(k)+ (D f
+L e
)−1⃗b Komponentenweise:
x(k+1)i = 1 aii
bi− i−1 X j=1
aijx(k+1)j − n X j=i+1
aijx(k)j
Konvergiert fallsρ(K f
gs)<1oderA e
strikt diagonaldominant oderA positiv definit e
FallsAtridiagonal und positiv definit ρ(K
f
gs) =ρ(K f
j)2 Vorkonditionierung:
P e
= (D f
+L e
)−1 ⇒ P e A
e
⃗ x=P
e
⃗b
3.4. Successive Over-Relaxation
K f
SOR= (D f
+ωL e
)−1(D f
(1−ω)−ωU e ) Matrixdarstellung:
⃗x(k+1)=K f
SOR⃗x(k)+ (D f
+ωL e
)−1ω⃗b Komponentenweise:
x(k+1)i = ωa−1ii ⃗bi−i−1P j=1
aijx(k+1)j − Pn j=i+1
aijx(k)j
! + (1−ω)x(k)i
Optimale Konvergenz f¨ur
ωopt= arg min ω ρ(K
f SOR) FallsApositiv definit und tridiagonal⇒ρ(K
f
gs) =ρ(K f
j)2<1:
ωopt= 2
1 +q 1−ρ(K
f j)2
3.5. Gradienten-Verfahren
Voraussetzungen:Ae
=A e
TundA e
positiv definit
Φ(⃗x) =1 2⃗xTA
e
⃗x−⃗xT⃗b
⃗
r(k)=⃗b−A e
⃗ x(k) α(k)= ⃗r(k)T⃗r(k)
⃗ r(k)TA
e
⃗ r(k) Optimierung:⃗r(k+1)=⃗r(k)−α(k)A
e
⃗
r(k)Matrixdarstellung:
⃗
x(k+1)=⃗x(k)+α(k)⃗r(k)
4. Matrix Zerlegung
4.1. LR-Zerlegung von Matrizen (Lower and Upper)
Geeignetes L¨osungsverfahren f¨urAe
⃗
x=⃗b, fallsn <500 A
e
=L e
·R e
mitR e
obere Dreiecksmatrix (rangA e
= rangR e ) 4.1.1. Pivotisierung (Spaltenpivotsuche)
PermutationsmatrixP e
⊤=P e
−1vertauscht Zeilen, damit LR Zerlegung bei 0 Eintr¨agen m¨oglich ist. Tausche so, dass man durch die betragsm¨aßig gr¨oßte Zahl dividiert (Pivotelement)
4.1.2. Rechenaufwand (FLOPS)
LU-Zerlegung 23n3−12n2−16n
Vorw¨artseinsetzen n2−n
R¨uckw¨artseinsetzen n2
Bei symmetrischer Matrix f¨ur LU Zerlegung halbiert.
Aufwand f¨ur Berechnung vonA e
−1:n3+n2∈ O(n3)
LR-Zerlegung mit GaußverfahrenA e
=L e R
e
;P e
−1=P e
⊤ 1.Sortiere Zeilen vonA
e mitP
e
so dassa11> . . . > an1 2.Zerlegen vonP
e A
e
⃗ x=⃗bzuL
e (R
e
⃗ x) =L
e
⃗ y=P
e
⊤⃗bmit Zerlegungsmatrix:
(Beispiel f¨ur2×2) A e
=
"
a b c d
#
→
"
a b
c a d−c
ab
#
=A e
∗
mit den Eliminationsfaktorenlik= aik akk
z.B.= ac 3.F¨ur jede Spalte der unteren Dreiecksmatrix wiederholen.
F¨ur einen×nMatrix braucht mann−1Durchl¨aufe 4.R
e
=triu(A e
∗) (obere△-Matr. vonA e
∗, inkl. Diagonalelem.) 5.L
e
=tril(A e
∗,−1) +1 e
(untere△-Matr. mit1en auf Diag.) 6. Vorw¨artseinsetzen:L
e
⃗
y=⃗bbzw.L e
⃗ y=P
e
⊤⃗b (L¨ose nach⃗y) 7. R¨uckw¨artseinsetzen:R
e
⃗
x=⃗y (L¨ose nach⃗x)
4.2. QR-Zerlegung (existiert immer)
Ae
=Q e R
e mitQ
e
−1=Q e
⊤
Berechnung (Verfahren): Housholder (numerisch stabil) , Gram-Schmidt, Givens Rotation.
A e
−EZF−−−→H f A
e
−EZF−−−→H˜ f H f A
e
=R e
⇒A e
=H f
⊤H˜ f
⊤R Aufgabe: Finde Vektor⃗vder Senkrecht aufH e
f steht.
L¨osen von LGSen mit derQRZerlegung Bestimme⃗xdurch R¨uckw¨artssubsitution ausR
e
⃗ x=Q
e
⊤⃗b
QR-Zerlegung mit Householder-Transformation f¨urA e
∈Rm×n 1.Setze⃗a=⃗s1(erste Spalte) und⃗v=⃗a+ sgn(a1)∥⃗a∥⃗e1 2.BerechneHouseholder-TrafomatrixH
f
⃗v1=1 e
m− 2
⃗ v⊤⃗v⃗v⃗v⊤ 3.ErhalteA
e
∗=H f
⃗ v1A
e
(ersten Spalte bis aufa11nur Nullen) 4.Wiederhole f¨urA
e
∗ohne 1. Zeile und Spalte (Untermatr.A e
∗ 11) ErweitereH
f
∗
⃗
v2oben mit1 e
mzuH f
⃗
v2(h11= 1) 5.Nachp= min
m−1, n Schritten:H f
⃗vpA e
∗=R e
weil 6.Q
e
⊤=H f
⃗vp· · ·H f
⃗ v1undQ
e
⊤A e
=R e
4.3. Orthogonalisierungsverfahren nach Gram-Schmidt
Berechnet zunVektoren⃗viein Orthogonalsystem⃗bi (i∈[1;n])⃗b1=⃗v1 ⃗bi=⃗vi− i−1
X k=1
⃗b⊤k ·⃗vi
⃗b⊤k·⃗bk
⃗bk
Erhalte Orthonormalsystem durch⃗b′i=⃗bi/ ⃗bi
QR-Zerlegung:A
e
=Q e R
e mitQ
e
=⃗b′1, . . . , ⃗b′n R
e
=Q e
⊤A e
4.4. Givens Rotation (Jacobi-Rotation)
G e−1=G e
⊤ Die orthogonale Givens-RotationsmatrixG
e
entspricht der Einheitsmatrix wobei 4 Elemente die Form
"
c s
−s c
#
haben. Diecbeliebig auf der Haupt- diagonalen unds/−sin der gleichen Zeile/Spalte wie diec.
QR-Zerlegung mit Givens-Rotation f¨urA e
∈Rm×n 1.Initialisierung: SetzeR
e
=A e
undG e
gesamt=1 e m 2.Wiederhole folgende Schritte f¨ur alle ElementerxyinR
e , welche 0werden m¨ussen um obere Dreiecksmatrix zu erhalten. (Reihex, Spaltey), verfahre spaltenweise (links nach rechts) und in jeder Spalte von oben nach unten:
3.Setzea=ryy(Hauptdiagonalelement in dieser Spalte) 4.Setzeb=rxy(Wert, welcher durch0ersetzt werden soll) 5.Berechnec:=apunds:=bpmitp:=p
a2+b2
6.SetzeG e
= (gij) =
c i=x, j=x
c i=y, j=y
s i=y, j=x
−s i=x, j=y Einheitsmatrix sonst 7.SetzeR
e
=G e R
e undG
e gesamt=G
e G
e gesamt 8.Fahre, falls n¨otig, mit n¨achstem Element inR
e fort 9.ErhalteQ
e
=G e
⊤ gesamt L¨ose
4.5. D¨ unnbesetzte Matrizen
Ziel:effizienteres Speichern von Matrizen mit vielen 0 Eintr¨agen. Ae
=
a 0 0 0
0 b c 0
0 0 0 d
e 0 f 0
COO CRS CCS
row {1,2,2,3,4,4} {1,4,2,2,4,3}
rowptr {1,2,4,5,7}
col {1,2,3,4,1,3} {1,2,3,4,1,3}
colptr {1,3,5,6,7}
val {a, b, c, d, e, f} {a, b, c, d, e, f} {a, b, c, d, e, f}
COO Zeilen und Spaltenindex vonval CRS rowptr(i) zeigt auf j-tes Element voncol CCS colptr(i) zeigt auf j-tes Element vonrow
rowptr(1)=1, rowptr(n)=n+1, gibt an, bei welchem element (in col) die neue Zeile beginnt.
5. Numerische Differentiation
5.1. Vorw¨ artsdifferenz
f′(x0)≈f˜Vor′ (x0) =f(x0+h)−f(x0) h f′(x0)−f˜Vor′ (x0)∈ O(h)
5.2. R¨ uckw¨ artsdifferenz
f′(x0)≈f˜R¨′uck(x0) =f(x0)−f(x0−h) h f′(x0)−f˜R¨′uck(x0)∈ O(h)
5.3. Zentrale Differenz
f′(x0)≈f˜Zentral′ (x0) =f(x0+h)−f(x0−h) 2h f′(x0)−f˜Zentral′ (x0)∈ O(h2) hopt= 3
q3ϵ
M Max. Rundungsfehlerϵ
Homepage:https://makeappdev.github.io/TUM-Projekte/– Fehler bittesofortmelden. von Markus Hofbauer, Kevin Meyer und Benedikt Schmidt – Mail:latex@kevin-meyer.de Stand: 18. January 2020 um 16:22 Uhr (git 26) 2/4
6. Numerische Integration
6.1. Polynom-Ans¨ atze
ˆba
f(x) dx≈ ˆb
a P(x) dx 6.1.1. Lagrange
P(x) = n X k=0
Ln,k(x)·f(xk)
Ln,k(x) = n Y i=0,i̸=k
x−xi xk−xi 6.1.2. Differenzen
f[xi] =f(xi) f[xi, xi+1] =f[xi+1 ]xi+1−f[−xixi]
f[xi, . . . , xj] =f[xi+1, . . . , xj]−f[xi, . . . xj−1] xj−xi
P(x) =f[x0] + n X k=1
f[x0, . . . , xk](x−x0). . .(x−xk−1)
6.2. Newton-Cotes
ˆba
f(x) dx≈ n X i=0
gif(xi)
h= b−a n 6.2.1. Trapez
fallsn= 1:
ˆb a
f(x) dx≈(b−a)f(a) +f(b) 2
Zusammengesetztes Trapez: n=#Kanten = #St¨utzstellen - 1 ˆb
a
f(x) dx≈h 2
n−1 X k=0
f(xk) +f(xk+1)
Allgemein:
ˆb a
f(x) dx≈h
f(a) +f(b)
2 +
n−1 X k=1
f(a+k·h)
6.2.2. Simpson13 (Fassregel) fallsn= 2:
ˆb a
f(x) dx≈b−a
6 (f(a) + 4f(a+h) +f(b)) Allgemein(zusammengesetzte Simpsonregel):
ˆb a
f(x) dx≈h 3
f(a) +f(b) + n−1
X k=1
akf(a+k·h)
ak= 3 + (−1)k+1 6.2.3. Simpson38
fallsn= 3:
ˆb a
f(x) dx≈3h
8(f(a) + 3f(a+h) + 3f(a+ 2h) +f(b))
6.3. Kubische Splines
S(x)St¨uckweise Approximation vonf(x)durchnkubische Polynome mit S(xi) =f(xi)
Bestimme Parametera, b, c, df¨ur jedes Teilst¨uck:
Sj(x) =aj+bj(x−xj) +cj(x−xj)2+dj(x−xj)3 Sj′(x) =bj+ 2cj(x−xj) + 3dj(x−xj)2
F¨urj= 0,1, . . . , n−1:
Sj(xj) =f(xj)∧Sj(xj+1) =f(xj+1) F¨urj= 0,1, . . . , n−2:
Sj(xj+1)=! Sj+1(xj+1)≡aj+1 S′j(xj+1)=! Sj+1′ (xj+1)≡bj+1 Sj′′(xj+1)=! Sj+1′′ (xj+1)≡2cj+1 Freier bzw. nat¨urlicher Rand:
S′′(x0) =S′′(xn) = 0 Eingespannter Rand:
S′(x0) =f′(x0)∧S′(xn) =f′(xn)
Parameterbestimmung 1.aj=f(xj)undhj=xj+1−xj 2.L¨ose LGS f¨ur⃗c:A
e
⃗ c=⃗l
A e
=
1 0 0 . . . 0
h0 2(h0+h1) h1
...
.. . ...
... ...
...
.. . ..
.
... hn−2 2(hn−2−hn−1) hn−1
0 . . . 0 0 1
⃗l=
0 3
h1(a2−a1)− 3
h0(a1−a0) ..
. 3
hn−1(an−an−1)− 3
hn−2(an−1−an−2) 0
3.bj= 1
hj(aj+1−aj)−hj
3(2cj+cj+1) 4.dj= 31
hj(cj+1−cj)
7. Least Squares
7.1. Ausgleichsrechnung
Gegeben:nDatenpunkte(xi, yi), Gesucht: Eine Polynom-Funktionf welche die Datenpunkte m¨oglichst gut (kleinstes Fehlerquadrat) approxi- miert. Es gilt:f⃗⃗α(⃗x) =⃗y+⃗r≈⃗ymit Residum⃗r
BestimmekParameterαjso, dass Fehlerquadrat⃗r⊤⃗rminimiert wird.
ErstelleA e
∈Rn×kmitA e
⃗
α≈f(⃗⃗x), Zeilen ausk x-Termen:x2, x,1 minα ⃗r= min
α A
e
⃗ α−⃗y
2 2= min
α ⃗y−A
e
⃗ α
2 2 Minimierung durch Ableitung:∀j∈[1, k] :∂(⃗r)2
∂αj
= 0! Dadurch ergibt sich:A
e
⊤A e
⃗ α=A
e
⊤⃗y L¨osen der Normalengleichung 1.Bestimme eine reduzierte QR-Zerlegung
A e
= ˜Q e R˜
e mitQ˜
e
∈Rn×k,R˜ e
∈Rk×k 2.L¨oseR˜
e
⃗ x= ˜Q
e
⊤⃗y
7.1.1. Lineare Ausgleichsrechnung (k= 2) f⃗α(x) =α1x+α0 A
e
= [⃗x ⃗1] ⃗α=
"
α1 α0
#
arg min α1,α0
E(α1, α0) = n X i=1
(yi−(α1xi+α0))2
7.1.2. Polynomial Least Squares
f⃗α(x) =P(x, ⃗α) =αkxk+. . .+α1x+α0 arg min
α0,...,αk−1En(α0, . . . , αk−1) = n X i=1
(yi−P(⃗α, xi))2
Minimierung durch Ableitung:∀i∈[0, k−1] :∂En
∂αj
= 0!
7.2. Anwendung in der linearen Ausgleichsrechnung
(Minimierung d. Restes)Problem:A e
⊤A e
⃗ x=A
e
⊤⃗bmitA e
∈Rm×nund⃗b∈Rm L¨osen der Normalengleichung 1.Bestimme eine reduzierte QR-Zerlegung
A e
= ˜Q e R˜
e mitQ˜
e
∈Rm×n,R˜ e
∈Rn×n 2.L¨oseR˜
e
⃗ x= ˜Q
e
⊤⃗b
⃗b−A e
⃗ x
2= Q
e
⊤(⃗b−A e
⃗ x)
2=
⃗˜b−R˜ e
⃗ x
2+∥⃗c∥2≥ ⃗c2
8. Numerische L¨ osung von Differentialgleichun- gen
Ausgangsproblem: DGL
x(t) =. f(x(t))
Idee: Anstatt die Funktionx(t)zu bestimmen, wird versucht die L¨osung x(t = t∗)f¨ur ein bestimmtest∗zu finden. Man kennt bereits eine L¨osungx(t0)und hangelt sich von dort mit Schrittenx(t0+ ∆tν) (Schrittweite∆t,ν-ter Schritt) nach vorne bis manx(t∗)erreicht.
ˆ
x(ν) ˆ=ˆx(ν)=x(t0+ ∆tν) f(ν)ˆ =∧f(t0+ ∆tν)
8.1. Expliziter Euler
ˆx(ν+1)= ˆx(ν)+ ∆t·fˆ ˆ x(ν) stabil f¨ur0<∆t <2, instabil f¨ur∆t >2
8.2. Impliziter Euler
ˆ
x(ν+1)= ˆx(ν)+ ∆t·fˆ ˆ x(ν+1) L¨ose Gleichung nachxˆ(ν+1)
8.3. Trapez
ˆx(ν+ 1) = ˆx(ν) +∆t
2 ( ˆf(ν) + ˆf(ν+ 1))
8.4. Gear
O((∆t)2)ˆ
x(ν+ 2) =4
3x(νˆ + 1)−1 3x(ν) +ˆ 2
3∆tfˆ(ν+ 2)
8.5. Heun
ˆ
x[P](ν+ 1) = ˆx(ν) + ∆tf(ν,ˆ x(ν))ˆ ˆ
x(ν+ 1) = ˆx(ν) +∆t 2
fˆ(ν,ˆx(ν)) + ˆf(ν+ 1,xˆ[P](ν+ 1))
8.6. k-Schritt-Adams-Bashforth
ˆx(ν+k) = ˆx(ν+k−1) + ∆t k−1
X i=0
bk,if(νˆ +i)
bi,k i= 0 i= 1 i= 2 i= 3
k= 1 1
k= 2 −12 32
k= 3 125 −1612 2312
k= 4 −249 3724 −5924 5524
8.7. Finite Differenzen
St¨utzstellent0, . . . tnVorw¨artsdifferenzmitx(tn)bekannt:
1 h
−1 1
−1 1 .. ..
h
x(t0) x(t1) ..
x(tn)
=
x(t. 0) x(t. 1) ...
x(tn)
R¨uckw¨artsdifferenzmitx(t0)bekannt:
1 h
h
−1 1 .. ..
−1 1
x(t0) x(t1) ..
x(tn)
=
x(t. 0) x(t. 1) ...
x(tn)
F¨ur zweite Ableitung immer -1, 2, -1 in einer Zeile
9. Matlab Sample Code
1 f u n c t i o nx = g a u s s V e r f a h r e n ( A , b ) 2 [ L , U , P ] = L U Z e r l e g u n g ( A ) ; 3 [ y ] = v o r w a e r t s S u b s t i t u t i o n ( L , P , b ) ; 4 [ x ] = r u e c k w a e r t s S u b s t i t u t i o n ( U , y ) ; 5 end
1 f u n c t i o n[ L , U , P ] = L U Z e r l e g u n g ( A ) 2 n = s i z e( A , 1) ;
3 L = z e r o s( n , n ) ;
4 P = eye( n ) ;
5
6 fori = 1: n -1
7 [ pivot , p i v o t I n d e x ] = max(abs( A ( i : n , i ) ) ) ; 8 p i v o t I n d e x = p i v o t I n d e x + ( i - 1) ; 9 p i v o t = A ( p i v o t I n d e x , i ) ;
Homepage:https://makeappdev.github.io/TUM-Projekte/– Fehler bittesofortmelden. von Markus Hofbauer, Kevin Meyer und Benedikt Schmidt – Mail:latex@kevin-meyer.de Stand: 18. January 2020 um 16:22 Uhr (git 26) 3/4
10 P s u b =eye( n ) ;
11 P s u b (: , [ i , p i v o t I n d e x ]) = P s u b (: , [ p i v o t I n d e x , i ]) ;
12 A ([ i , p i v o t I n d e x ] , :) = A ([ p i v o t I n d e x , i ] , :) ; 13 L ([ i , p i v o t I n d e x ] , :) = L ([ p i v o t I n d e x , i ] , :) ;
14 P = P s u b * P ;
15 p i v o t R o w = A ( i , i +1: n ) ;
16 forj = i +1: n
17 f a c t o r = A ( j , i ) / p i v o t ;
18 L ( j , i ) = f a c t o r ;
19 c u r r e n t R o w = A ( j , i +1: n ) ;
20 A ( j , i +1: n ) = c u r r e n t R o w - f a c t o r * p i v o t R o w ;
21 A ( j , i ) = 0;
22 end
23 end
24
25 U = A ;
26 L = L + eye( n ) ;
27 end
1 f u n c t i o n[ y ] = v o r w a e r t s S u b s t i t u t i o n ( L , P , b ) 2 n = s i z e( L , 1) ;
3 y = z e r o s( n , 1) ;
4 b = P * b ;
5 y (1) = b (1) / L (1 , 1) ; 6
7 fori = 2: n
8 r o w S u m = L ( i , 1: i -1) * y (1: i -1) ; 9 y ( i ) = ( b ( i ) - r o w S u m ) / L ( i , i ) ;
10 end
11 end
1 f u n c t i o n[ x ] = r u e c k w a e r t s S u b s t i t u t i o n ( U , y ) 2 n = s i z e( U , 1) ;
3 x = z e r o s( n , 1) ; 4 x ( n ) = y ( n ) / U ( n , n ) ; 5
6 fori = n -1: -1:1
7 r o w S u m = U ( i , i +1: n ) * x ( i +1: n ) ; 8 x ( i ) = ( y ( i ) - r o w S u m ) / U ( i , i ) ;
9 end
10 end
1 f u n c t i o n[ x_k , r_k , a l p h a _ k ] = c o n j u g a t e G r a d i e n t I t e r a t i o n ( A , b , x0 , N )
2 x_k =z e r o s(l e n g t h( x0 ) , N +1) ; 3 r_k =z e r o s(l e n g t h( x0 ) , N +1) ; 4 p_k =z e r o s(l e n g t h( x0 ) , N +1) ; 5
6 a l p h a _ k =z e r o s(1 , N ) ; 7 b e t a _ k =z e r o s(1 , N ) ; 8
9 x_k (: ,1) = x0 ;
10 r_k (: ,1) = b - A * x0 ; 11 p_k (: ,1) = r_k (: ,1) ; 12
13 fori = 1: N
14 Ap = A * p_k (: , i ) ;
15 a l p h a _ k ( i ) = ( p_k (: , i ) ’* r_k (: , i ) ) ./( p_k (: , i ) ’* Ap ) ; 16 x_k (: , i +1) = x_k (: , i ) + a l p h a _ k ( i ) .* p_k (: , i ) ; 17 r_k (: , i +1) = r_k (: , i ) - a l p h a _ k ( i ) .* Ap ; 18 b e t a _ k ( i ) = ( Ap ’* r_k (: , i +1) ) ./( Ap ’* p_k (: , i ) ) ; 19 p_k (: , i +1) = r_k (: , i +1) - b e t a _ k ( i ) .* p_k (: , i ) ;
20 end
21 end
1 f u n c t i o n[ x_k , r_k , a l p h a _ k ] = g r a d i e n t I t e r a t i o n ( A , b , x0 , N ) 2 x_k =z e r o s(l e n g t h( x0 ) , N +1) ;
3 r_k =z e r o s(l e n g t h( x0 ) , N ) ; 4 a l p h a _ k =z e r o s(1 , N ) ; 5
6 x_k (: ,1) = x0 ;
7 fori = 1: N
8 r_k (: , i ) = b - A * x_k (: , i ) ;
9 a l p h a _ k ( i ) = ( r_k (: , i ) ’* r_k (: , i ) ) ./( r_k (: , i ) ’* A * r_k (: , i ) ) ;
10 x_k (: , i +1) = x_k (: , i ) + a l p h a _ k ( i ) .* r_k (: , i ) ;
11 end
12 end
1 f u n c t i o n [ Q , R ] = h o u s e h o l d e r ( A ) 2 n = s i z e( A , 1) ;
3 i d e n t i t y = eye( n ) ;
4 Q = eye( n ) ;
5
6 for i = 1 : ( n -1)
7 a = z e r o s( n , 1) ;
8 a ( i :end) = A ( i :end, i ) ;
9 v = a +s i g n( a ( i ) ) *n o r m( a ) * i d e n t i t y (: , i ) ; 10 Q p a r t i a l = i d e n t i t y - 2/( v ’* v ) *( v * v ’) ; 11 Q = Q p a r t i a l * Q ;
12 A = Q p a r t i a l * A ;
13 end
14
15 R = A ;
16 Q = Q ’;
17 end
1 f u n c t i o n [ Q , R ] = g i v e n s R o t a t i o n ( A ) 2 n = s i z e( A , 1) ;
3 Q = eye( n ) ;
4 R = A ;
5
6 for i = 1:( n -1)
7 for j = i +1: n ;
8 G = c r e a t e G i v e n s R o t a t i o n ( R , j , i ) ;
9 Q = G * Q ;
10 R = G * R ;
11 end
12 end
13
14 Q = Q ’;
15 end
1 f u n c t i o n [ G ] = c r e a t e G i v e n s R o t a t i o n ( A , row , col ) 2 a1 = A ( col , col ) ;
3 a2 = A ( row , col ) ; 4 p = s q r t( a1 * a1 + a2 * a2 ) ;
5 c = a1 / p ;
6 s = a2 / p ;
7 G = eye(s i z e( A , 1) ) ; 8 G ( row , row ) = c ; 9 G ( col , col ) = c ; 10 G ( row , col ) = ( -1) * s ; 11 G ( col , row ) = s ; 12 end
1 f u n c t i o n [ a , b , c , d ] = s p l i n e P a r a m e t e r ( xi , f ) 2 n = max(s i z e( xi ) ) ;% A n z a h l der S t u e t z s t e l l e n
3 a = f ( xi ) ;
4 h = z e r o s( n -1 ,1) ;% S c h r i t t w e i t e 5
6 for i =1: n -1
7 h ( i ) = xi ( i +1) - xi ( i ) ;
8 end
9 A = s p a r s e(z e r o s( n , n ) ) ;% M a t r i x f u e r LGS 10 bs = z e r o s( n ,1) ;% r e c h t e S e i t e f u e r LGS
11 for i =2: n -1
12 A ( i , i ) = 2*( h ( i ) + h ( i -1) ) ; 13 A ( i , i -1) = h ( i -1) ; 14 A ( i , i +1) = h ( i ) ;
15 bs ( i ) = (3/ h ( i ) ) *( a ( i +1) - a ( i ) ) - (3/ h ( i -1) ) *( a ( i ) - a ( i -1) ) ;
16 end
17 A (1 ,1) = 1;
18 A ( n , n ) = 1;
19 c = A \ bs ;% L o e s u n g des LGS
20 b = z e r o s( n ,1) ;% P a r a m e t e r b f u e r S p l i n e s 21 d = z e r o s( n ,1) ;% P a r a m e t e r d f u e r S p l i n e s
22 for i =1: n -1
23 b ( i ) = (1/ h ( i ) ) *( a ( i +1) - a ( i ) ) -( h ( i ) /3) * ( 2 * c ( i ) + c ( i +1) ) ;
24 d ( i ) = ( 1 / ( 3 * h ( i ) ) ) *( c ( i +1) - c ( i ) ) ;
25 end
26 end
10. Blabla Fragen
1. Nennen Sie einen Vorteil der Dividierten Differenzen gegen¨uber der Lagrange-Interpolation.
•geringerer Aufwand
•keine komplette Neuberechnung bei neuer St¨utzstelle 2. Nennen Sie einen Nachteil der Polynominterpolation gegen¨uber der
Spline-Interpolation.
•Oszillation am Intervallrand⇒großer Fehler am Rand 3. Nennen Sie zwei Vorteile des Adams-Bashfort-3-Schrittverfahrens
gegen¨uber der Trapez- Methode zum L¨osen nichtlinearer Differen- tialgleichungen.
•h¨ohere Genauigkeit (lokaler Fehler kleiner bei gleicher Schritt- weite)
•explizites Verfahren (geringerer Rechenaufwand)
4. Nennen Sie zwei Vorteile des Gauß-Verfahrens gegen¨uber dem Jacobi-Verfahren.
•f¨ur alle nicht-singul¨aren Matrizen l¨osbar
•geringerer Aufwand, wenn das gleiche Gleichungssystem mit verschiedenen rechten Seiten gel¨ost werden soll.
5. Nennen Sie drei numerische Integrationsverfahren, die die gleiche (lokale) Fehlerordnung wie das Trapezverfahren besitzen.
•Gear
•Taylor-Verfahren zweiter Ordnung
•Zweischritt Adams Bashfort
6. Nennen Sie einen Vorteil des Jacobi-Verfahrens gegen¨uber dem Gauß-Seidel-Verfahren.
•leicht parallelisierbar
7. Nennen Sie einen Nachteil des Jacobi-Verfahrens gegen¨uber dem Gauß-Seidel-Verfahren.
•langsamere Konvergenz
8. Geben Sie an, welche numerischen Probleme bei Anwendung der Sekantenmethode zur Bestimmung der Nullstelle vonF(x)in der N¨ahe der Nullstellex0auftreten k¨onnen.
•In der N¨ahe der Nullstelle istF(x(k))≈0, weshalb in der Iterationsvorschrift n¨aherungsweise der Term00auftreten kann.
Dementsprechend k¨onnen Ausl¨oschungsfehler auftreten.
11. Sonstiges
11.1. Graphen
G= (V, E)mKnoten (vertices)vi,nKanten (edges)ej
einfach/multi: nur eine/mehrere Kanten zwischen zwei Knoten gerichtet: Kanten nur in eine Richtung. gewichtet: Kanten haben Werte Zyklus: Gleicher Start und Endknotenvstart=vend
Pfad: Alle Knoten verschiedenvk̸=vl Kreis: Zyklus und Pfad zusammen AdjazenzmatrixA
e
= (aij)∈B|V|×|V|: aij=
(
1 fallsvimitvjverbunden ist 0 sonst(∄e: (vi, vj)∈e) A
e
immer symmetrisch, geht nur f¨ur ungerichtete Graphen!
InzidenzmatrixB e
= (bij)∈B|V|×|E|: bij=
−1 fallsejbeivistartet(ej= (vi, vx)) 1 fallsejbeiviendet(ej= (vx, vi)) 0 sonst(vi∈/ej)
Jede Zeile (f¨ur jede Kante) enth¨alt genau einmal1und−1 Rang vonB
e
:|V|−#zusammenh¨angende Gebiete. Maximal|V| −1!
NullraumkerB e
: Vektoren der Gebiete. Also mindestens⃗1∈kerB e LaplacematrixL
e
=B e
⊤B e
= (lij)∈B|V|×|V| lij=
di fallsi=jund genaudiKanten vonviweggehen
−1 fallsi̸=jund die Kante(vi, vj)existiert 0 sonst
11.2. Kirchhoff (Inzidenzmatrix B)
KCL:Be
⊤⃗i=⃗0 KVL:⃗u−B e
⃗
uknoten=⃗0 Ohm:⃗i=G e
·⃗u
11.3. Komplexit¨ at / Landau-Notation
Definiert Zeit und Platzbedarf von Algorithmen (∃c∈R∀n > n0) f∈ Og(n) ⇒ 0≤f(n)≤c·g(n) f∈Ωg(n)
⇒ f(n)≥c·g(n)≥0 f∈Θ g(n)
⇒ c1·g(n)≤f(n)≤c2·g(n) Schrankenfunktionen (f¨ur großen∈N)
1<log10(n)<ln(n)<log2(n)<√
n < n < n·ln(n)<
(logn)!< n2< en< n!< nn<22n
11.4. Gleitkommadarstellung nach IEEE 754
Bitverteilung(single/double):s(1) e(8/11) f(23/52)
s: Vorzeichen,e: Exponent,f: Mantisse
WertZ= (−1)s·1.f·2e−127 Genauigkeit:M= 2−f
11.5. Singul¨ arwertszerlegung
A e∈Km×n=U e Σ e V
e
⊤ Zerlegung in zwei Rotationen und eine Streckung:
U e
∈Km×m,V e
∈Kn×n: orthonormale Rotationsmatrizen Σ
e
∈Km×n:1 e
⃗σerg¨anzt mit 0en damitdimΣ e
= dimA e Singul¨arwertszerlegung 1.BestimmenEWλivonA
e
⊤A e
, sortiereλ1≥. . .≥λn≥0 ErhaltennSingul¨arwerteσi=p
λi 2.Bestimme ONBV
e
= [⃗v1, . . . , ⃗vn]aus EV vonA e
⊤·A 3.Bestimme ONBU e
e
= [⃗u1, . . . , ⃗uk]mit⃗ui= 1 σiA
e
⃗ vi k= min(m, n), fallsn < m: Erg¨anzeU
e
zu ONB desKm 4.Berechne Σ
m×ne
= U e
⊤ m×m
· A m×ne
· V n×ne
(U e
,V e
sind orthogonal)
Stabilit¨at: Falls Fehler ¡κσϵundσkleiner als ausgef¨uhrte Iterationen
Homepage:https://makeappdev.github.io/TUM-Projekte/– Fehler bittesofortmelden. von Markus Hofbauer, Kevin Meyer und Benedikt Schmidt – Mail:latex@kevin-meyer.de Stand: 18. January 2020 um 16:22 Uhr (git 26) 4/4