Quadraturformel an einem Bsp. < Numerik < Hochschule < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 02:23 Fr 24.01.2020 | Autor: | NathanR |
Eingabefehler: "{" und "}" müssen immer paarweise auftreten, es wurde aber ein Teil ohne Entsprechung gefunden (siehe rote Markierung)
Aufgabe | Mit wie vielen Funktionsauswertungen kann das Integral $I = \int_{0}^{1} \frac{1}{1 + 2x} dx = 0.54930614$
mit einem Fehler kleiner als $10^{-8}$ berechnet werden ?
a) Mit Hilfe der summierten Trapezregel
b) mit Hilfe der summierten Simpson - Regel |
Moin
Ich hänge bei einer wahrscheinlich einfachen Aufgabe, aber ich bin bei der numerischen Integration noch nicht routiniert. Ich hoffe, dass mir jemand bei dieser Aufgabe ein paar Tipps geben kann.
Die Trapezregel lautet:
$I^{(1)} (f) = \frac{ b- a}{2} (f(a) - f(b))$.
Ich weiß nicht aber, wie die summierte Trapezregel aussieht.
Im Skript https://ganymed.math.uni-heidelberg.de/~lehre/notes/num0/numerik0.pdf ab Seite 84 steht ein Abschnitt zu den "summierten Quadraturformeln":
"Man wendet daher zur Berechnung von $I(f)$ die Quadraturformeln nur auf Teilintervalle der Länge $h$ an und summiert die Einzelbeträge zu den sog. "summierten" Quadraturformeln.
$I_{h}^{(n)} := \sum\Limits_{i = 0}^{N - 1} I^{(n)}_{[x_{i}, x_{i + 1}]} (f) , \quad h = \frac{b - a}{N}$"
Das ist also die allgemeine Quadraturformel. Daraus kann man eigentlich die summierte Trapezregel herleiten, oder ?
Wir haben somit
$I^{(1)}_{h}(f) = \sum\Limits_{i = 0}^{N - 1} I^{(1)}_{[x_{i}, x_{i + 1}]}(f) = \frac{x_{i + 1} - x_{i}}{2} (f(x_{i} + f(x_{i + 1}))$
Die $1$ bei $I^{(1)}_{h}(f)$ habe aus Seite 81, Beispiel 3.2. Das hängt mit den abgeschlossenen Newton - Cotes - Formeln zusammen. Die Trapezregel ergibt sich dort für $n = 1$.
Wie kann ich nun bei dieser Aufgabe vorgehen ?
Ich habe das Intervall $[0, 1}$.
Intuitiv würde ich erstmal das Intervall z.B. durch 3 teilen und dann schauen, ob ich mit der summierten Trapezregel so nah an das Intergral rankomme, dass der Fehler kleiner ist als $10^{-8}$.
Wenn das nicht klappt, dann erhöhe ich einfach das $N$ und teile dann das Intervall $[0, 1]$ z.B. durch 10 und schaue dann, wie nah ich rankomme.
Aber probieren ist etwas doof, da dies bei manchen Integralen zu lange dauern kann.
Auf Seite 84 steht weiter, dass
$I(f) - I_{h}^{(n)}(f) = \omega_{n} ( b- a) h^{m + 1} f^{(m + 1)}(\theta), \theta \in [a, b]$ gilt, wenn für die verwendete Quadraturformel die Fehlerdarstellung
$I_{[x_{i}, x_{i + 1}]}(f) - I^{(n)}_{[x_{i}, x_{i + 1}]}(f) = \omega_{n}h^{m + 2} f^{(m + 1)}(\theta_{i}), \quad \theta_{i} \in [x_{i}, x_{i + 1}]$ mit einem $m \ge n$ gilt.
Kann man damit vielleicht irgendwas anfangen ? Falls ja, wie?
Ich weiß weder, das $\Theta$ sein soll, noch $m$.
Und was genau meint man jetzt mit "wie viele Funktionsauswertungen"?
Freue mich auf eine Antwort.
lg, euer Nathan
|
|
|
|
Hiho,
> Ich hänge bei einer wahrscheinlich einfachen Aufgabe, aber
> ich bin bei der numerischen Integration noch nicht
> routiniert. Ich hoffe, dass mir jemand bei dieser Aufgabe
> ein paar Tipps geben kann.
Du hast sie doch schon fast selbst gelöst…
> [mm]I^{(1)}_{h}(f) = \sum\Limits_{i = 0}^{N - 1} I^{(1)}_{[x_{i}, x_{i + 1}]}(f) = \frac{x_{i + 1} - x_{i}}{2} (f(x_{i} + f(x_{i + 1}))[/mm]
im letzten Schritt fehlt das Summenzeichen… du bekommst also:
[mm] \sum\Limits_{i = 0}^{N - 1} \frac{x_{i + 1} - x_{i}}{2} (f(x_{i} + f(x_{i + 1}))[/mm]
> Aber probieren ist etwas doof, da dies bei manchen Integralen zu lange dauern kann.
Korrekt.
> Auf Seite 84 steht weiter, dass
>
> [mm]I(f) - I_{h}^{(n)}(f) = \omega_{n} ( b- a) h^{m + 1} f^{(m + 1)}(\theta), \theta \in [a, b][/mm] gilt
> Kann man damit vielleicht irgendwas anfangen ?
Klar, links steht doch nichts anderes als der Fehler. Das rechts kannst du ausrechnen. Mach das doch mal an deinem Beispiel.
> Falls ja, wie?
Indem du alles mal einsetzt.
> Ich weiß weder, das [mm]\Theta[/mm] sein soll, noch [mm]m[/mm].
Die Aussage ist eine Existenzaussage, d.h. man weiß nicht exakt, wie [mm] $\theta$ [/mm] aussieht.
Also heißt es: Abschätzen! Das machst du aber am Besten erst, wenn du alles mal eingesetzt und weitestgehend vereinfacht hast.
Also los!
> Und was genau meint man jetzt mit "wie viele Funktionsauswertungen"?
Wie oft musst du [mm] $f(\cdot)$ [/mm] bestimmen.
Für N=1 zwei mal, nämlich f(a) und f(b)
Für N=2 hast du dann welche Funktionsauswertungen zu machen?
Für N=n dann…
Gruß,
Gono
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 11:34 Fr 24.01.2020 | Autor: | NathanR |
Hallo
> im letzten Schritt fehlt das Summenzeichen… du bekommst
> also:
> [mm]\sum\Limits_{i = 0}^{N - 1} \frac{x_{i + 1} - x_{i}}{2} (f(x_{i} + f(x_{i + 1}))[/mm]
Stimmt, sorry!
> > [mm]I(f) - I_{h}^{(n)}(f) = \omega_{n} ( b- a) h^{m + 1} f^{(m + 1)}(\theta), \theta \in [a, b][/mm]
> gilt
>
> > Kann man damit vielleicht irgendwas anfangen ?
> Klar, links steht doch nichts anderes als der Fehler. Das
> rechts kannst du ausrechnen. Mach das doch mal an deinem
> Beispiel.
>
> > Falls ja, wie?
> Indem du alles mal einsetzt.
Okay, das mache ich mal:
$I(f) - [mm] I_{h}^{(1)}(f) [/mm] = [mm] \int_{0}^{1} \frac{1}{1 + 2x} [/mm] dx - [mm] \sum\limits_{ i = 0}^{N - 1} \frac{x_{i + 1} - x_{i}}{2} (f(x_{i}) [/mm] + [mm] f(x_{i + 1})) [/mm] = [mm] \omega_{n}( [/mm] 1 - 0) [mm] h^{m + 1} f^{(m + 1)} (\theta) [/mm] = [mm] \omega_{n} \cdot h^{m + 1} f^{(m + 1)} (\theta) [/mm] < [mm] 10^{- 8}$
[/mm]
Nun wäre es sinnvoll dadurch herauszufinden, was unser $N$ ist.
Aber damit habe ich eben Schwierigkeiten, da ich nicht weiß, was $m$ ist und wie ich das abschätzen muss, so dass ich mein $N$ bekomme.
Wahrscheinlich wird es dann klarer, wenn ich [mm] $f^{(m + 1)}$ [/mm] berechne. Aber wie gesagt, mir fehlt noch das $m$...
> Wie oft musst du [mm]f(\cdot)[/mm] bestimmen.
> Für N=1 zwei mal, nämlich f(a) und f(b)
> Für N=2 hast du dann welche Funktionsauswertungen zu
> machen?
>
> Für N=n dann…
Ach so, vielen Dank! Pro Summe habe ich zwei Funktionsauswertungen. Ich summiere $N$ Mal, dann habe ich $2N$ Funktionsauswertungen.
lg, Nathan
|
|
|
|
|
Hiho,
> Nun wäre es sinnvoll dadurch herauszufinden, was unser [mm]N[/mm] ist.
Das ergibt sich durch die Bestimmung von $h$.
Darum geht es ja gerade: Wie groß muss meine Schrittweite (und damit mein N) sein, damit der Fehler klein genug wird.
> Aber damit habe ich eben Schwierigkeiten, da ich nicht weiß, was [mm]m[/mm] ist
Dann schaust du dir mal Beispiel 3.3. auf Seite 84 an, da steht zu jedem Verfahren das $m$ dazu…
> Wahrscheinlich wird es dann klarer, wenn ich [mm]f^{(m + 1)}[/mm]
> berechne. Aber wie gesagt, mir fehlt noch das [mm]m[/mm]...
Da du das $m$ nun kennst… auf auf.
> > Wie oft musst du [mm]f(\cdot)[/mm] bestimmen.
> > Für N=1 zwei mal, nämlich f(a) und f(b)
> > Für N=2 hast du dann welche Funktionsauswertungen zu
> > machen?
> >
> > Für N=n dann…
>
>
> Ach so, vielen Dank! Pro Summe habe ich zwei Funktionsauswertungen. Ich summiere [mm]N[/mm] Mal, dann habe ich [mm]2N[/mm] Funktionsauswertungen.
Netter Versuch… nochmal bitte.
Schreib die Summe mal für N=2 auf… was fällt dir auf?
Gruß,
Gono
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 12:55 Fr 24.01.2020 | Autor: | NathanR |
> Dann schaust du dir mal Beispiel 3.3. auf Seite 84 an, da
> steht zu jedem Verfahren das [mm]m[/mm]Eingabefehler: "{" und "}" müssen immer paarweise auftreten, es wurde aber ein Teil ohne Entsprechung gefunden (siehe rote Markierung)
Eingabefehler: "{" und "}" müssen immer paarweise auftreten, es wurde aber ein Teil ohne Entsprechung gefunden (siehe rote Markierung)
dazu…
Ah ja, ich sehe. Wie konnte ich das nur übersehen...
Es ist dann:
$I(f) - I_{h}^{(1)}(f) = - \frac{b - a}{12} h^{2} f''(\theta) = - \frac{1}{12}h^{2} \cdot \frac{4}{(1 + 2 \theta)^{3}} < 10^{- 8}, \quad \theta \in [0, 1]$
$\Leftrightarrow h > \sqrt{3 \cdot 10^{ - 8} \cdot (1 + 2 \theta)^{3}} $
Aber sollte der Fehler $I(f) - I_{h}^{(1)}(f) $ nicht eigentlich unabhängig von allen $\theta \in [0, 1]$ ? Wenn im Fehler $ f''(\theta)$ auftaucht, dann hängt der Fehler von $\theta$ ab.
Aber wie berechnen doch eigentlich nur eine Fläche mit $I_{h}^{(1)}(f)$. Und die Fläche berechnet man einmal und gut ist. Sie verändert sich doch nicht in Abhängigkeit von $\theta$.
Daher weiß ich gerade nicht, was ich für $\theta$ in der Fehlerformel einsetzen muss.
> Netter Versuch… nochmal bitte.
> Schreib die Summe mal für N=2 auf… was fällt dir auf?
Für N = 1 habe ich: $\sum\limits_{ i = 0}^{0}\frac{x_{i + 1} - x_{i}}{2} (f(x_{i}) - f(x_{i + 1}) ) = \frac{x_{1} - x_{0}}{2} (f(x_{0}) - f(x_{1}) ) = \frac{x_{1} - a}{2} (f(a) - f(x_{1}) ) $
Hier berechnet man $f(a})$ und $f(x_{1})$. Da weiß ich nicht, warum du statt $f(x_{1})$ den Funktionswert $f(b)$ hast.
Für N = 2 habe ich: $\sum\limits_{ i = 0}^{1}\frac{x_{i + 1} - x_{i}}{2} (f(x_{i}) - f(x_{i + 1}) ) = \frac{x_{1} - a}{2} (f(a) - f(x_{1}) ) + \frac{x_{2} - x_{1}}{2} (f(x_{1}) - f(x_{2}) )$
Und hier berechnen wir $4$ Funktionswerte: $f(a})$, $f(x_{1})$, wieder $f(x_{1})$ und dann $f(x_{2}) $. Wenn man $f(x_{1})$ nicht doppelt zählt, dann hätten wir nur 3. Aber warum sollte man das nicht doppelt zählen? Der Rechner rechnet jeden Funktionswert neu.
lg, Nathan
|
|
|
|
|
Hiho,
> [mm]I(f) - I_{h}^{(1)}(f) = - \frac{b - a}{12} h^{2} f''(\theta) = - \frac{1}{12}h^{2} \cdot \frac{4}{(1 + 2 \theta)^{3}} < 10^{- 8}, \quad \theta \in [0, 1][/mm]
Bei mir ist [mm] $f''(\theta) [/mm] = [mm] \frac{8}{(1 + 2 \theta)^{3}}$
[/mm]
> Aber sollte der Fehler [mm]I(f) - I_{h}^{(1)}(f) [/mm] nicht
> eigentlich unabhängig von allen [mm]\theta \in [0, 1][/mm] ? Wenn
> im Fehler [mm]f''(\theta)[/mm] auftaucht, dann hängt der Fehler von
> [mm]\theta[/mm] ab.
Du hast die Aussage nicht verstanden.
Die Aussage ist: Es gibt so ein [mm] $\theta \in [/mm] [0,1]$, so dass für den Fehler gilt $I(f) - [mm] I_{h}^{(1)}(f) [/mm] = - [mm] \frac{1}{12} h^{2} f''(\theta)$
[/mm]
Das gibt uns zwar keine Aussage darüber, wie groß der Fehler nun genau ist (weil wir [mm] $\theta$ [/mm] nicht kennen), wir können aber sagen, wie groß der Fehler maximal ist!
Denn wenn [mm] $\theta$ [/mm] nun aus $[0,1]$ kommt, wie groß kann dann [mm] $\frac{1}{12} h^{2} f''(\theta)$ [/mm] maximal werden?
Nun sorgen wir dafür, dass wir N so groß wählen, dass der maximale Fehler kleiner wird als [mm] $10^{-8}$, [/mm] dann ist mit Sicherheit auch der exakte Fehler kleiner als [mm] $10^{-8}$.
[/mm]
> Hier berechnet man [mm]f(a})[/mm] und [mm]f(x_{1})[/mm]. Da weiß ich nicht,
> warum du statt [mm]f(x_{1})[/mm] den Funktionswert [mm]f(b)[/mm] hast.
Na was ist denn [mm] $x_1$? [/mm] Anders: Du verwendest jetzt [mm] $x_1$, [/mm] du musst mir doch sagen können, was [mm] $x_1$ [/mm] ist!
Tipp: Was sind die [mm] $x_i$ [/mm] denn?
> Und hier berechnen wir [mm]4[/mm] Funktionswerte: [mm]f(a})[/mm], [mm]f(x_{1})[/mm],
> wieder [mm]f(x_{1})[/mm] und dann [mm]f(x_{2}) [/mm]. Wenn man [mm]f(x_{1})[/mm]
> nicht doppelt zählt, dann hätten wir nur 3. Aber warum
> sollte man das nicht doppelt zählen? Der Rechner rechnet
> jeden Funktionswert neu.
Behauptest du so einfach. Auch da: Belege?
Wenn ich performant entwickle, tut er das ganz sicher nicht!
Auch du solltest mehrfach verwendete Werte in einer Variablen speichern…
Gruß,
Gono
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 18:41 Fr 24.01.2020 | Autor: | NathanR |
> Hiho,
>
> > [mm]I(f) - I_{h}^{(1)}(f) = - \frac{b - a}{12} h^{2} f''(\theta) = - \frac{1}{12}h^{2} \cdot \frac{4}{(1 + 2 \theta)^{3}} < 10^{- 8}, \quad \theta \in [0, 1][/mm]
>
> Bei mir ist [mm]f''(\theta) = \frac{8}{(1 + 2 \theta)^{3}}[/mm]
>
> > Aber sollte der Fehler [mm]I(f) - I_{h}^{(1)}(f)[/mm] nicht
> > eigentlich unabhängig von allen [mm]\theta \in [0, 1][/mm] ? Wenn
> > im Fehler [mm]f''(\theta)[/mm] auftaucht, dann hängt der Fehler von
> > [mm]\theta[/mm] ab.
> Du hast die Aussage nicht verstanden.
> Die Aussage ist: Es gibt so ein [mm]\theta \in [0,1][/mm], so dass
> für den Fehler gilt [mm]I(f) - I_{h}^{(1)}(f) = - \frac{1}{12} h^{2} f''(\theta)[/mm]
> Das gibt uns zwar keine Aussage darüber, wie groß der
> Fehler nun genau ist (weil wir [mm]\theta[/mm] nicht kennen), wir
> können aber sagen, wie groß der Fehler maximal ist!
>
> Denn wenn [mm]\theta[/mm] nun aus [mm][0,1][/mm] kommt, wie groß kann dann
> [mm]\frac{1}{12} h^{2} f''(\theta)[/mm]Eingabefehler: "{" und "}" müssen immer paarweise auftreten, es wurde aber ein Teil ohne Entsprechung gefunden (siehe rote Markierung)
maximal werden?
Du meinst wohl den Fehler $- \frac{1}{12} h^{2} f''(\theta)$ ?
Für $\theta = 1$ wird der Fehler maximal. Damit erhalte ich eben die kleinste negative Zahl, die die Funktion im Intervall $[0, 1}$ annehmen kann.
Also habe ich für $\theta = 1$ den maximalen Fehler: $- \frac{1}{12} h^{2} \frac{8}{(1 + 2 \cdot 1)^{3}} = - \frac{1}{12} h^{2} \frac{8}{3^{3}} = - \frac{1}{12} h^{2} \frac{8}{27} = - \frac{2}{81} h^{2} $
Und nun müssen wir die Ungleichung $- \frac{2}{81} h^{2} < 10^{- 8}$ nach $h$ umstellen, was aber nicht geht.
Wenn ich mit $ \frac{1}{12} h^{2} f''(\theta)$ rechne, dann wird die Funktion für $\theta = 0$ maximal.
Also habe ich für $\theta = 0$ den maximalen Fehler: $ \frac{1}{12} h^{2} \frac{8}{(1 + 2 \cdot 0)^{3}} = \frac{1}{12} h^{2} \frac{8}{1^{3}} = -\frac{1}{12} h^{2} 8 = \frac{8}{12} h^{2} = \frac{2}{3} h^{2} $
Dann muss gelten:
$\frac{2}{3} h^{2} < 10^{-8 }$
$\Leftrightarrow h < \sqrt{\frac{3}{2} \cdot 10^{- 8}}$
Es muss also $N > \frac{1}{\sqrt{\frac{3}{2} \cdot 10^{- 8}}} = 8164, 965809$
Also wählen wir $N = 8165$.
Und nun zu den $x_{i}$:
Hier teilen wir doch das Intervall $[0, 1]$ in $N$ kleinere Intervalle.
Es ist $h = \frac{b - a}{N} = \frac{ 1 - 0}{N} = \frac{1}{N}$.
Da ist $x_{0} = a$ und $x_{N} = b$, dachte ich.
Und $x_{1}$ wäre dann $x_{1} = a + 1 \cdot \frac{1}{N}$.
> > Und hier berechnen wir [mm]4[/mm] Funktionswerte: [mm]f(a})[/mm], [mm]f(x_{1})[/mm],
> > wieder [mm]f(x_{1})[/mm] und dann [mm]f(x_{2}) [/mm]. Wenn man [mm]f(x_{1})[/mm]
> > nicht doppelt zählt, dann hätten wir nur 3. Aber warum
> > sollte man das nicht doppelt zählen? Der Rechner rechnet
> > jeden Funktionswert neu.
> Behauptest du so einfach. Auch da: Belege?
> Wenn ich performant entwickle, tut er das ganz sicher
> nicht!
> Auch du solltest mehrfach verwendete Werte in einer
> Variablen speichern…
Ja, mehrfach verwendete Werte würde ich natürlich auch in einer Variablen speichern beim Programmieren. Das heißt also, ich muss auch bei dieser Rechnung so denken, wie wenn ein Programmierer denken würde, wenn er versucht, diese ganzen Funktionswerte mit so wenig Rechenaufwand wie möglich zu berechnen?
Wenn ich also die Funktionswerte nicht doppelt zähle, erhalte ich:
Für N = 1: $f(a)$ und [mm] $f(x_{1})$ [/mm] (2 Werte)
Für $N = 2$ :$f(a), [mm] f(x_{1}), f(x_{2}) [/mm] (3 Werte)
Für $N = 3$ :$f(a), [mm] f(x_{1}), f(x_{2}), f(x_{3})$ [/mm] (4 Werte)
[mm] $\vdots [/mm]
Für $N = n$ :$f(a), [mm] f(x_{1}), f(x_{2}), f(x_{3}), \ldots, f(x_{n}) [/mm] $ ($n + 1$ Werte)
Dann komme ich bei $N +1 $ Funktionsauswertungen, korrekt ?
Gruß, Nathan
|
|
|
|
|
Hiho,
> Du meinst wohl den Fehler [mm]- \frac{1}{12} h^{2} f''(\theta)[/mm]
Nein. Der Fehler an sich ist zwar vorzeichenbehaftet, man interessiert sich aber immer (logischerweise) für den Betrag des Fehlers.
Denn ob ich nun nach oben oder unten abweiche, ist ja beides gleich falsch.
> Für [mm]\theta = 1[/mm] wird der Fehler maximal. Damit erhalte ich
> eben die kleinste negative Zahl, die die Funktion im
> Intervall [mm][0, 1}[/mm] annehmen kann.
Mach dasselbe nochmal für den Betrag…
> Und nun müssen wir die Ungleichung [mm]- \frac{2}{81} h^{2} < 10^{- 8}[/mm]
> nach [mm]h[/mm] umstellen, was aber nicht geht.
>
>
> Wenn ich mit [mm]\frac{1}{12} h^{2} f''(\theta)[/mm] rechne, dann
> wird die Funktion für [mm]\theta = 0[/mm] maximal.
> Dann muss gelten:
> Es muss also [mm]N > \frac{1}{\sqrt{\frac{3}{2} \cdot 10^{- 8}}} = 8164, 965809[/mm]
>
> Also wählen wir [mm]N = 8165[/mm].
>
>
>
> Und nun zu den [mm]x_{i}[/mm]:
>
>
> Hier teilen wir doch das Intervall [mm][0, 1][/mm] in [mm]N[/mm] kleinere
> Intervalle.
>
> Es ist [mm]h = \frac{b - a}{N} = \frac{ 1 - 0}{N} = \frac{1}{N}[/mm].
>
> Da ist [mm]x_{0} = a[/mm] und [mm]x_{N} = b[/mm], dachte ich.
> Und [mm]x_{1}[/mm] wäre dann [mm]x_{1} = a + 1 \cdot \frac{1}{N}[/mm].
Es gilt [mm]x_{1} = a + (b-a) \cdot \frac{1}{N}[/mm]
Und was ist das dann, wenn man $N=1$ hat?
> Wenn ich also die Funktionswerte nicht doppelt zähle,
> erhalte ich:
> Für [mm]N = n[/mm] :[mm]f(a), f(x_{1}), f(x_{2}), f(x_{3}), \ldots, f(x_{n})[/mm]
> ([mm]n + 1[/mm] Werte)
> Dann komme ich bei [mm]N +1[/mm] Funktionsauswertungen, korrekt ?
Gruß,
Gono
|
|
|
|