Interpolation+Fehler < Numerik < Hochschule < Mathe < Vorhilfe
|
Status: |
(Frage) überfällig | Datum: | 11:29 Di 18.08.2009 | Autor: | tynia |
Aufgabe | Die Funktion f(x)= [mm] \bruch{x^{2}}{x^{2}+x-6} [/mm] soll im Intervall [-1, 1] mit äquidistanten Stützstellen tabelliert und dann linear interpoliert werden. Wie dicht müssen die Stützstellen gewählt werden, damit der Interpolationsfehler ≤ [mm] 10^{−2} [/mm] ist? |
Hallo alle zusammen. Ich habe dazu eine Lösung, verstehe aber leider gar nix. Vielleicht kann mir das jemand erklären. Wäre sehr nett.
Ich poste mal das was ich dazu habe:
Fehlerbetrachtung:
[mm] ||s-f||_{\infty} \le \bruch{1}{8} ||f''||_{\infty} h_{max}^{2} [/mm] weil äquidistant, ist [mm] h=h_{max} [/mm]
Bedingung:
[mm] \bruch{1}{8} ||f''||_{\infty} h^{2} \le 10^{-2}
[/mm]
f(x) = [mm] \bruch{x^{2}}{x^{2}+x-6}
[/mm]
f'(x) = [mm] \bruch{x^{2}-12x}{(x^{2}+x-6)^{2}}
[/mm]
f''(x)= [mm] \bruch{-2(x^{3}-18x^{2}-36)}{(x^{2}+x-6)^{3}}
[/mm]
f'''(x) soll 0 sein [mm] \Rightarrow x_{0}=-0,247
[/mm]
[mm] f''(-1)=-\bruch{55}{108}
[/mm]
[mm] f''(1)=-\bruch{-53}{32} \Rightarrow \bruch{53}{32}= ||f''||_{\infty}
[/mm]
[mm] f''(x_{0}]=-0,313...
[/mm]
[mm] \Rightarrow \bruch{1}{8} \bruch{53}{32}h^{2} \le 10^{-2}
[/mm]
[mm] \Rightarrow [/mm] h [mm] \le \wurzel{\bruch{32}{53}*8*10^{-2}}= [/mm] 0,2198...
So, das wars dazu. Vielleicht kann mir jemand sagen, wie man überhaupt auf die erste Formel kommt, und zwar diese hier:
[mm] ||s-f||_{\infty} \le \bruch{1}{8} ||f''||_{\infty} h_{max}^{2} [/mm] weil äquidistant, ist [mm] h=h_{max} [/mm]
Bedingung:
[mm] \bruch{1}{8} ||f''||_{\infty} h^{2} \le 10^{-2}
[/mm]
Bin über jede Hilfe sehr dankbar.
LG
|
|
|
|
> Die Funktion f(x)= [mm]\bruch{x^{2}}{x^{2}+x-6}[/mm] soll im
> Intervall [-1, 1] mit äquidistanten Stützstellen
> tabelliert und dann linear interpoliert werden. Wie dicht
> müssen die Stützstellen gewählt werden, damit der
> Interpolationsfehler ≤ [mm]10^{−2}[/mm] ist?
> Hallo alle zusammen. Ich habe dazu eine Lösung, verstehe
> aber leider gar nix. Vielleicht kann mir das jemand
> erklären. Wäre sehr nett.
> Ich poste mal das was ich dazu habe:
>
> Fehlerbetrachtung:
>
> [mm]||s-f||_{\infty} \le \bruch{1}{8} ||f''||_{\infty} h_{max}^{2}[/mm]
> weil äquidistant, ist [mm]h=h_{max}[/mm]
>
> Bedingung:
>
> [mm]\bruch{1}{8} ||f''||_{\infty} h^{2} \le 10^{-2}[/mm]
>
> f(x) = [mm]\bruch{x^{2}}{x^{2}+x-6}[/mm]
> f'(x) = [mm]\bruch{x^{2}-12x}{(x^{2}+x-6)^{2}}[/mm]
> f''(x)= [mm]\bruch{-2(x^{3}-18x^{2}-36)}{(x^{2}+x-6)^{3}}[/mm]
>
> f'''(x) soll 0 sein [mm]\Rightarrow x_{0}=-0,247[/mm]
>
> [mm]f''(-1)=-\bruch{55}{108}[/mm]
> [mm]f''(1)=-\bruch{-53}{32} \Rightarrow \bruch{53}{32}= ||f''||_{\infty}[/mm]
>
> [mm]f''(x_{0}]=-0,313...[/mm]
>
> [mm]\Rightarrow \bruch{1}{8} \bruch{53}{32}h^{2} \le 10^{-2}[/mm]
>
> [mm]\Rightarrow[/mm] h [mm]\le \wurzel{\bruch{32}{53}*8*10^{-2}}=[/mm]
> 0,2198...
>
>
> So, das wars dazu. Vielleicht kann mir jemand sagen, wie
> man überhaupt auf die erste Formel kommt, und zwar diese
> hier:
>
> [mm]||s-f||_{\infty} \le \bruch{1}{8} ||f''||_{\infty} h_{max}^{2}[/mm]
> weil äquidistant, ist [mm]h=h_{max}[/mm]
>
> Bedingung:
>
> [mm]\bruch{1}{8} ||f''||_{\infty} h^{2} \le 10^{-2}[/mm]
>
>
> Bin über jede Hilfe sehr dankbar.
>
> LG
Hallo tynia,
Nach der Peano-Darstellung des Fehlerterms bei der
linearen Interpolation (das ist möglicherweise nicht
genau der Weg, den ihr eingeschlagen habt) gilt:
$\ [mm] R_h(f)(x)\ [/mm] =\ [mm] \big{|}s(x)-f(x)\big{|}\ [/mm] =\ [mm] \big{|} \bruch{1}{2}(x-x_0)(x_1-x)f''(\xi) \big{|}$
[/mm]
Dabei sind [mm] x_0 [/mm] und [mm] x_1 [/mm] linker und rechter Rand eines
Interpolationsintervalls der Länge h, x und [mm] \xi [/mm] liegen
im Intervall. Man kann sich leicht klar machen, dass
[mm] 0\le (x-x_0)(x_1-x)\le\frac{h^2}{4} [/mm] (einfache Extremalaufgabe!)
Daraus folgt die Formel, die du hast.
Damit der Fehler nirgends im Intervall [-1....1] grösser
als 0.01 wird, muss man dafür sorgen, dass er da [mm] \le0.01
[/mm]
bleibt, wo er tendenziell am grössten werden könnte.
Dies ist da, wo die zweite Ableitung der zu approximierenden
Funktion den grössten Betrag hat. Dies muss entweder an
einer Stelle x mit f'''(x)=0 sein oder allenfalls an einem
Intervallrand, also bei -1 uder 1. Man schaut also nach,
an welchen dieser drei Stellen -1, -0.247, +1 die zweite
Ableitung ihren grössten Betrag annimmt. Durch Einsetzen
dieses Maximalwertes in die Fehlerformel kann man dann
die zu wählende Schrittlänge h für die Interpolation
berechnen.
Für die praktische Rechnung teilt man dann das
Intervall [-1....1] natürlich in 10 Teilintervalle der
Länge h=0.2 ein, da 9 Intervalle noch knapp nicht
ausreichen, weil 9*0.2198... noch kleiner als 2 ist
und 0.2 für die Rechnung ohnehin eine angenehmere
Schrittweite ist als 0.2198...
Gruß Al-Chw.
|
|
|
|
|
Hallo tynia,
ich habe die Genauigkeit der Approximation nun
noch mittels Tabellenkalkulation überprüft.
Es zeigt sich dabei, dass gegenüber dem rechne-
rischen Ergebnis (h=0.2198) sogar h=0.25
die Bedingung erfüllt, dass der Fehler unterhalb
0.01 bleibt. Das heisst, dass schon 8 Teilinter-
valle (statt 10) effektiv genügen.
Die theoretische Berechnung führt also nicht
auf eine exakte Aussage, sondern nur auf eine
Abschätzung.
LG Al-Chwarizmi
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 14:25 Di 18.08.2009 | Autor: | tynia |
Danke schön. ich rechne das jetzt gleich nochmal
|
|
|
|
|
Status: |
(Frage) überfällig | Datum: | 21:25 Di 01.11.2011 | Autor: | Igor1 |
> > Die Funktion f(x)= [mm]\bruch{x^{2}}{x^{2}+x-6}[/mm] soll im
> > Intervall [-1, 1] mit äquidistanten Stützstellen
> > tabelliert und dann linear interpoliert werden. Wie dicht
> > müssen die Stützstellen gewählt werden, damit der
> > Interpolationsfehler ≤ [mm]10^{−2}[/mm] ist?
> > Hallo alle zusammen. Ich habe dazu eine Lösung,
> verstehe
> > aber leider gar nix. Vielleicht kann mir das jemand
> > erklären. Wäre sehr nett.
> > Ich poste mal das was ich dazu habe:
> >
> > Fehlerbetrachtung:
> >
> > [mm]||s-f||_{\infty} \le \bruch{1}{8} ||f''||_{\infty} h_{max}^{2}[/mm]
> > weil äquidistant, ist [mm]h=h_{max}[/mm]
> >
> > Bedingung:
> >
> > [mm]\bruch{1}{8} ||f''||_{\infty} h^{2} \le 10^{-2}[/mm]
> >
> > f(x) = [mm]\bruch{x^{2}}{x^{2}+x-6}[/mm]
> > f'(x) = [mm]\bruch{x^{2}-12x}{(x^{2}+x-6)^{2}}[/mm]
> > f''(x)= [mm]\bruch{-2(x^{3}-18x^{2}-36)}{(x^{2}+x-6)^{3}}[/mm]
> >
> > f'''(x) soll 0 sein [mm]\Rightarrow x_{0}=-0,247[/mm]
> >
> > [mm]f''(-1)=-\bruch{55}{108}[/mm]
> > [mm]f''(1)=-\bruch{-53}{32} \Rightarrow \bruch{53}{32}= ||f''||_{\infty}[/mm]
>
> >
> > [mm]f''(x_{0}]=-0,313...[/mm]
> >
> > [mm]\Rightarrow \bruch{1}{8} \bruch{53}{32}h^{2} \le 10^{-2}[/mm]
>
> >
> > [mm]\Rightarrow[/mm] h [mm]\le \wurzel{\bruch{32}{53}*8*10^{-2}}=[/mm]
> > 0,2198...
> >
> >
> > So, das wars dazu. Vielleicht kann mir jemand sagen, wie
> > man überhaupt auf die erste Formel kommt, und zwar
> diese
> > hier:
> >
> > [mm]||s-f||_{\infty} \le \bruch{1}{8} ||f''||_{\infty} h_{max}^{2}[/mm]
> > weil äquidistant, ist [mm]h=h_{max}[/mm]
> >
> > Bedingung:
> >
> > [mm]\bruch{1}{8} ||f''||_{\infty} h^{2} \le 10^{-2}[/mm]
> >
> >
> > Bin über jede Hilfe sehr dankbar.
> >
> > LG
>
>
> Hallo tynia,
>
> Nach der Peano-Darstellung des Fehlerterms bei der
> linearen Interpolation (das ist möglicherweise nicht
> genau der Weg, den ihr eingeschlagen habt) gilt:
>
> [mm]\ R_h(f)(x)\ =\ \big{|}s(x)-f(x)\big{|}\ =\ \big{|} \bruch{1}{2}(x-x_0)(x_1-x)f''(\xi) \big{|}[/mm]
>
> Dabei sind [mm]x_0[/mm] und [mm]x_1[/mm] linker und rechter Rand eines
> Interpolationsintervalls der Länge h, x und [mm]\xi[/mm] liegen
> im Intervall. Man kann sich leicht klar machen, dass
> [mm]0\le (x-x_0)(x_1-x)\le\frac{h^2}{4}[/mm] (einfache
> Extremalaufgabe!)
> Daraus folgt die Formel, die du hast.
in meiner Mitschrift steht dazu:
[mm] x_{1}=x_{0}+h [/mm] x [mm] \in [x_{0},x_{1}]
[/mm]
[mm] |(x-x_{0})(x-x_{1})|\le|(x_{0}+\bruch{h}{2}-x_{0})(x_{0}+\bruch{h}{2}-x_{1})|
[/mm]
Wurde hier [mm] x\le x_{0}+\bruch{h}{2} [/mm] abgeschätzt?
Aber für x [mm] \in [x_{0},x_{1}] [/mm] gilt nicht diese Abschätzung, oder?
>
> Damit der Fehler nirgends im Intervall [-1....1] grösser
> als 0.01 wird, muss man dafür sorgen, dass er da [mm]\le0.01[/mm]
> bleibt, wo er tendenziell am grössten werden könnte.
> Dies ist da, wo die zweite Ableitung der zu
> approximierenden
> Funktion den grössten Betrag hat. Dies muss entweder an
> einer Stelle x mit f'''(x)=0 sein oder allenfalls an einem
> Intervallrand, also bei -1 uder 1. Man schaut also nach,
> an welchen dieser drei Stellen -1, -0.247, +1 die zweite
> Ableitung ihren grössten Betrag annimmt. Durch Einsetzen
> dieses Maximalwertes in die Fehlerformel kann man dann
> die zu wählende Schrittlänge h für die Interpolation
> berechnen.
> Für die praktische Rechnung teilt man dann das
> Intervall [-1....1] natürlich in 10 Teilintervalle der
> Länge h=0.2 ein, da 9 Intervalle noch knapp nicht
> ausreichen, weil 9*0.2198... noch kleiner als 2 ist
> und 0.2 für die Rechnung ohnehin eine angenehmere
> Schrittweite ist als 0.2198...
>
>
> Gruß Al-Chw.
>
>
>
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 22:26 Do 03.11.2011 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 22:20 Di 01.11.2011 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|