Blatt 3

Werbung
M ATHEMATISCHES I NSTITUT
P ROF. D R . ACHIM S CH ÄDLE
F ELIX L IEDER
D R . G EORG J ANSING
7
8
9
Σ
N AME :
M AT- NR .:
4. M AI 2017
N AME :
M AT- NR .:
N AME :
Numerik I – 3. Übungsblatt
M AT- NR .:
G RUPPE :
Aufgabe 7:
(3+3 Punkte)
(a) Bestimmen Sie das Volumen V des Rotationskörpers R, der gegeben ist als
R = {(x, y, z)|z ∈ [− h2 , h2 ], k(x, y)k ≤ f (z)}
mit einer stetigen Funktion f : [− h2 , h2 ] → R≥0 .
(b) Wir wollen nun das Volumen eines Fasses nach der Kepler’schen Fassregel bestimmen: Wir
können das Fass von Innen gemäß der Skizze in Abbildung 1 ausmessen. Dabei können wir die
Länge l des gestrichelten Messstabes und den Neigungswinkel ϕ messen. Approximieren Sie das
Volumen des Fasses mit Hilfe der Simpsonregel, indem Sie die Länge des Stabes und den Winkel
an den beiden Extrempunkten und die Länge in der Mitte messen.
A
ϕ
0
− h2
l
h
2
B
Abbildung 1: Veranschaulichung der Kepler’schen Messmethode für das Volumen eines Fasses
Quelle: http://www.keplerraum.at/fass.html
b.w.
Aufgabe 8:
(2+4 Punkte)
Bestimmen Sie die Lobatto-Quadraturformeln mit
(a) drei und
(b) vier Knoten.
Aufgabe 9:
Bestimmen Sie die zweistufige Gauß-Quadraturformel der Ordnung 4, um ein Integral auf dem Intervall
[−π, π] zu approximieren. Das heißt, bestimmen Sie (bi , ci )2i=1 , sodass für alle Polynome g vom Grad
kleiner gleich 3 gilt:
Z
π
g(x) dx = b1 g(c1 ) + b2 g(c2 ).
−π
Begründen Sie Ihren Ansatz.
Programmieraufgabe 3:
(a) Implementieren Sie eine adaptive Quadraturformel wie in der Vorlesung zur Approximation von
Z
b
f (x) dx
a
Verwenden Sie dabei eine 15-stufige Gauß-Quadraturformel und einen 14- und einen sechsstufigen
Fehlerschätzer wie in (7.2) III in der Vorlesung (Variante von Hairer im Onlineskript) für die
Fehlerschätzung. Die Knoten und Gewichte können Sie auf der Numerik 1 Homepage in der
Datei gauss15.m bzw. gauss15.py herunterladen.
(b) Testen Sie ihr Programm an dem Beispiel aus dem Hairer Skript auf Seite 17, d.h.
f (x) = 2 + sin 3 cos 0.002(x − 40)2
(1)
auf dem Intervall [10, 110] mit Toleranzen 10−2 , 10−4 und 10−8 . Zeigen Sie die Zerlegung die Ihr
Algorithmus berechnet und vergleichen Sie den geschätzten Fehler mit dem tatsächlichen Fehler.
Dabei können Sie den “exakten” Wert des Integrals mittels einer der Matlab Routinen quadl
oder integral bzw. der Python Routine scipy.integrate.quad berechnen. Denken Sie daran
bei der Berechnung des “exakten” Wertes jeweils eine sehr kleine Fehlertoleranz vorzugeben!
Hinweis: Sie haben für diese Programmieraufgabe zwei Wochen Zeit und sie zählt wie zwei Aufgaben
für die Zulassung.
Abgabe der Übungsaufgaben am Donnerstag, 11. Mai zu Beginn der Vorlesung.
Abgabe der Programmierübungen per E-Mail bis Freitag, 19. Mai, 23:59 Uhr an
[email protected] mit Betreff PA# Gr#, wobei # für die Nummer der Programmieraufgabe bzw.
der Programmierübungsgruppe steht.
Herunterladen