close

Anmelden

Neues Passwort anfordern?

Anmeldung mit OpenID

als PDF lesen

EinbettenHerunterladen
Prof. Dr. Stefan Funken
M.Sc. Andreas Bantle
Dipl.-Math. oec. Klaus Stolle
Universit¨at Ulm
Institut f¨
ur Numerische Mathematik
Wintersemester 2014/2015
Numerische Lineare Algebra - Matlab-Blatt 1
(Besprechung in den Matlab-Tutorien in KW 43/44)
Hinweise
(i) Bitte melden Sie sich im SLC unter
https://slc.mathematik.uni-ulm.de/portal/catalog/details/term/WS2014/lecture/949
f¨
ur die Vorlesung an.
¨
(ii) Abgabe der Ubungsbl¨
atter nur zu zweit! (Bis auf max. eine Ausnahme ;) )
¨
(iii) Zulassungskriterium f¨
ur die Klausur: 50% der Ubungspunkte
der Matlab- sowie der Theorie-Bl¨atter.
¨
(iv) Auf jedem Theorie-Ubungsblatt
wird es eine auf Englisch gestellte Aufgabe sowie eine Aufgabe, die in LATEX
abgegeben werden muss, geben. Die auf Englisch gestellte Aufgabe kann auf Deutsch beantwortet werden, handschriftliche L¨
osungen der LATEX- Aufgabe werden mit 0 Punkten bewertet!
(v) Außerdem m¨
ussen die ’*.tex’-Dateien der LATEX-Aufgabe per Email an numerik1ws14@gmail.com mit dem
Betreff
Blatt Blattnumer, Name1 Vorname1, Name2 Vorname2
gesendet werden (Nachnamen alphabetisch sortiert!), also z.B f¨
ur das erste Theorieblatt von Max Maier und
Steffen Schneider:
Blatt 01, Maier Max, Schneider Steffen
Aufgabe 1 (Horner-Schema)
(5 Punkte)
(i) Schreiben sie eine Matlab-Funktion val = horner(p,x), die zu dem Koeffizientenvektor p ∈ Rn+1 und den
Punkten x = (x1 , ..., xm ) ∈ Rm das Polynom
f (x) = pn xn + · · · + p1 x + p0 = (. . . (pn x + pn−1 )x + pn−2 )x + . . . )x + p0
an den Stellen xi (i = 1, ..., m) mit dem Horner-Schema auswertet und als R¨
uckgabewert in einem Spaltenvektor
val zur¨
uckgibt.
(ii) Schreiben Sie eine Matlab-Funktion plotPoly(p,a,b), die das Polynom, das u
¨ber den Koeffizientenvektor
p∈ Rn+1 gegeben ist, im Intervall [a,b] plottet. Verwenden Sie hierzu die Funktion horner aus Aufgabeteil (i).
(iii) Schreiben Sie ein Matlab-Skript, welches Ihre Funktionen f¨
ur folgende Beispiele testet:
• p = [1, -4, 4], a=0, b=4
• p = [1, 0, -1, 0], a=-2, b=2
• p = [1, 2, -3, -4, 4], a=-4, b=3.
Aufgabe 2 (Ausgleichsproblem)
(7 Punkte)
2
Gegeben seien die Messpunkte (xi , fi ) ∈ R (i = 1, ..., m), die in den Dateien x.dat und f.dat als Spaltenvektoren
gespeichert sind.
(i) Laden Sie sich das Material von Vorlesungshomepage
http://www.uni-ulm.de/mawi/mawi-numerik/lehre/ws1415/numla1.html
herunter.
Wir wollen nun mit Hilfe eines Ausgleichsproblems ein Polynom 6. Grades mit
p(x) = a6 x6 + a5 x5 + a4 x4 + a3 x3 + a2 x2 + a1 x + a0
bestimmen, welches m¨
oglichst gut“ zu den Messpunkten passt. Dazu stellen wir folgendes lineare Gleichungssystem
”
auf:
   

a0
f1
1 x1 . . . x61
 ..
..   ..  =  ..  ⇔ Ax = f,
.
.  .   . 
a6
fm
1 xm . . . x6m
wobei die Matrix A als die Transponierte der Vandermonde-Matrix bezeichnet wird. Die zugeh¨orige Normalengleichung
AT Ax = AT f
liefert dann die Koeffizienten x = (a0 , ..., a6 )T des Polynoms, das den Ausdruck
Ax − f
2
2
minimiert.
Schreiben Sie ein Matlab-Skript ausgleich.m, welches:
(ii) die Vektoren x und f l¨
adt (siehe load-Befehl),
(iii) die Punkte (xi , fi ) in einem Schaubild darstellt,
(iv) die transponierte Vandermonde-Matrix A∈ Rm×7 und die Normalengleichung des Ausgleichsproblem
AT A x = AT f
aufstellt,
(v) die Normalengleichung l¨
ost (siehe ’\’-Operator),
(vi) das Ausgleichspolynom im selben Schaubild wie die Punkte plottet (plotPoly aus der vorherigen Aufgabe).
Aufgabe 3 (LGS mit Dreiecksmatrizen)
Gegeben seien die Dreiecksmatrizen


1

a1 1




.
.
.. ..

L := 




.
.
..
..


an−1 1
(8 Punkte)

und



R := 



b1
c1
..
.
..
.
..
.

..
.
bn−1






cn−1 
bn
(1)
(li,j = 0 f¨
ur j > i oder j < i − 1 und ri,j = 0 f¨
ur j < i oder j > i + 1), die durch die Vektoren a, c ∈ Rn−1 und b ∈ Rn
bestimmt sind.
(i) Schreiben Sie eine Matlab-Funktion
x = Linvb(a,f),
die zum gegebenen Vektor a ∈ Rn−1 und der rechten Seite f ∈ Rn das LGS Lx = f l¨ost.
(ii) Schreiben Sie eine Matlab-Funktion
x = Rinvb(b,c,f),
die zu den gegebenen Vektoren b ∈ Rn und c ∈ Rn−1 und der rechten Seite f das LGS Rx = f l¨ost.
¨
Uberlegen
Sie sich einen geeigneten Algorithmus und verwenden Sie nicht den ’\’ -Operator von Matlab!
(iv) Schreiben Sie ein Matlab-Skript testLR.m, welches
• f¨
ur n = 10 zuf¨
allige Vektoren a, b, c und f erzeugt (siehe rand-Funktion von Matlab),
• die zugeh¨
origen linearen Gleichungssysteme mit den Funktionen Rinvb und Linvb l¨ost
• zum Vergleich die vollen Matrizen L und R aufstellt und das volle LGS mit dem ’\’-Operator von Matlab
l¨ost (der Matlab-Befehl L=full(spdiags([[a;0],ones(n,1)],[-1,0],n,n)); stellt die Matrix L auf.
¨
Uberlegen
Sie sich einen analogen Matlab-Befehl f¨
ur die Matrix R.)
• beide L¨
osungen miteinander vergleicht, indem der relative Fehler in der ℓ2 -Norm berechnet wird, also:
xRinv − x′ \′
xRinv ℓ2
ℓ2
und
xLinv − x′ \′
xLinv ℓ2
ℓ2
.
¨
Mehr Informationen zur Vorlesung und den Ubungen
finden Sie auf
http://www.uni-ulm.de/mawi/mawi-numerik/lehre/sommersemester-2014/numana.html
Document
Kategorie
Gesundheitswesen
Seitenansichten
12
Dateigröße
106 KB
Tags
1/--Seiten
melden