16. Übungsserie Grundlagen des wiss. Rechnens

Werbung
TU Ilmenau
Inst. für Mathematik, Num. Mathematik und IV
PD Dr. W. Vogt, H. Seeber
Sommersemester 2011
16. Übungsserie Grundlagen des wiss. Rechnens
Aufgabe 1 Schreiben Sie eine C++ Funktion, die das bestimmte Integral
Zb
f (x) dx
I=
a
mittels der Trapezregel
µ
¶
1
1
I = h
f (a) + f (a + h) + f (a + 2h) + . . . + f (a + (n − 1)h) + f (b)
2
2
b−a
h =
n
für gegebene f , a und b näherungsweise berechnet. Der optionale Parameter n sei standardmäßig 20. Berechnen Sie mittels dieser C++ Funktion die Integralwerte für folgende
Funktionen:
f1 (x) =
sin x
,
x
a = 1, b = 2
f2 (x) = x − x7 , a = 0, b = 1,
f3 (x) =
−x2
√2 e
π
n = 50
a = 0, b = 2(0.5)3, n = 30, 40, 50
Aufgabe 2 Die Fibonacci-Folge (un ), n
=
0, 1, 2, 3, . . . , ist eine unendliche Folge von Zahlen, den Fibonacci-Zahlen, bei der sich die jeweils folgende Zahl durch Addition der beiden vorherigen Zahlen ergibt:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, . . ..
Benannt
ist sie nach Leonardo Fibonacci, der damit 1202 das Wachstum einer Kaninchenpopulation beschrieb. Diese Folge hat in der Natur allgemein große Bedeutung (vgl. bei
Wikipedia “Fibonacci-Folge“).
a) Geben Sie die übliche Rekursionsdarstellung für un an und notieren Sie diese als
rekursive C++ Funktion fibonacci1.
b) Entwickeln Sie eine serielle (also nicht-rekursive) Darstellung durch wiederholte Addition mittels einer Zyklusanweisung als C++ Funktion fibonacci2.
c) Finden sie ein explizites Bildungsgesetz für die Glieder der Fibonacci-Folge (vgl.
Formel von Moivre-Binet) und geben Sie die Formel von Moivre-Binet als C++
Funktion fibonacci3 an.
d) Vergleichen Sie die Ergebnisse aller 3 Funktionen in einem C++ Programm für
möglichst große Werte n. Was stellen Sie dabei bzgl der Rechenzeit fest?
Aufgabe 3 Leiten Sie eine Rekursionsformel für das bestimmte Integral
Z1
tn et dt
I(n) =
0
für n = 0, 1, 2, 3, . . . her. Warum gilt limn→∞ I(n) = 0 ?
Schreiben Sie dazu eine rekursive C++ Funktion und berechnen Sie mit dieser Funktion
Integralwerte I(n) für n = 0, 1, 2, 3, . . . und stellen Sie diese in einer Tabelle dar.
Zusatzaufgabe: Begründen Sie das Verhalten der berechneten Werte für großes n.
Aufgabe 4 Man erstelle für folgende mathematische Funktionen jeweils eine rekursive
C++ Funktion:
a) n ! = n (n − 1) !,
0 ! = 1.
Rb
n−1
− tann−1 (a)
b) In = tann (x) dx = tan (b)n−1
− In−2 ,
a
¯
¯
¯
¯
I0 = b − a, I1 = ln ¯ cos(a)
.
cos(b) ¯
Aufgabe 5 Für die n-te Potenz einer Zahl x gilt für n ≥ 3:
xn = (x2 )n/2 bzw. xn = x ∗ (x ∗ x)(n−1)/2 .
Schreiben Sie auf dieser Basis eine linear rekursive C++ Funktion potenz, die die
n-te Potenz einer reellen Zahl x berechnet.
Herunterladen