numerische integration von ODE < DGL < Numerik < Hochschule < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 12:18 Do 01.09.2005 | Autor: | alphaone |
Kann mir jemand sagen warum, bei einer Differentialgleichung wie
dx/dt = -(1-x^(6/5))^(1/2)
, die nicht analytisch an x=0 ist, numerische Methoden wie das Runge-Kutta Verfahren (deren Fehler die Order [mm] h^4 [/mm] hat) keine besseren Näherungen als das Euler Verfahren liefern (deren Fehler von Order [mm] h^1 [/mm] ist) wenn x gegen 0 geht.
Ich weiss, dass beide Verfahren auf der Taylor entwicklung der Funftion beruhen und dass diese an nicht-analytischen punkten gerade nicht mit dem wirklichen Funktionswert übereinstimmt. Doch sollte in der UMGEBUNG dieses Punktes nicht dennoch das Runge Kutta Verfahren bessere Näherungen geben, und falls nicht - stehen die Näherungen beider Verfahren überhaupt noch im Zusammenhang mit dem wirklichen Funktionswert, da ich keinen Grund sehe warum die Felerquelle die das Runge Kutta Verfahren betrifft nicht auch das Euler Verfahren betreffen sollte.
Ich habe diese Frage auch in folgenden Foren auf anderen Internetseiten gestellt: http://www.uni-protokolle.de/foren/viewf/7,0.html
|
|
|
|
Hallo alphaone,
x=0 ist meiner Meinung nach völlig unkritisch gehe ich recht in der Annahme das x=1 gemeint ist. Hier verhindert die fehlende Lipschitzstetigkeit der Verfahrensfunktion,daraus resultierend fehlende Stabilität, die Konvergenz des Verfahrens.
viele Grüße
mathemaduenn
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 19:16 So 04.09.2005 | Autor: | alphaone |
Meine Überlegung warum die Funktion nicht analytisch an x=0 ist war folgende:
Sei [mm] t_{0} [/mm] der wert an dem x=0; man entwickele x(t) um diesen wert. Dann sind alle Ableitungen ausser der ersten 0 an dieser Stelle denn z.B. [mm] (d^2x/dt^2)(t_{0}) =-3/5*x(t_{0})^{1/5}=0 [/mm] da [mm] x(t_{0})=0. [/mm] Da alle weiteren Ableitungen in jedem Term [mm] x(t_{0}) [/mm] enthalten folgt dass alle Ableitungen 0 sind. Somit ergibt sich als Taylorentwicklung um [mm] t_{0}: [/mm]
[mm] X(t)=0+(dx/dt)(t_{0})*(t-t_{0}) +0*(t-t_{0})^2+...
[/mm]
Doch da x(t) ersichtlicherweise nicht linear ist, ist der Konvergenzradius dieser Entwicklung 0, und x somit nicht analytisch dort.
|
|
|
|
|
Hallo alphaone,
Um zu bestimmen welchen Fehler [mm] u_{k+1} [/mm] setzt man i.A. die Taylorentwicklung der Funktion (praktischerweise mit Lagrangescher Form des Restgliedes) ein. Also [mm] u(x_k+h)=u_k+u'(x_k)h+....
[/mm]
Beim Beweis der Konsitenz fallen dann alle Terme mit h , [mm] h^2 [/mm] , [mm] h^3..(bis [/mm] zur entsprechenden Ordnung) weg so das als Fehler lediglich das Restglied bleibt.
Sind dann alle Ableitungen außer der ersten gleich 0 kannst Du auch für das Eulerverfahren analog Ordnung 4 nachweisen (an der entsprechenden Stelle) oder aber beliebige Ordnung. Für Details kannst Dir ja nochmal einen Konsistenzbeweis anschauen.
viele Grüße
mathemaduenn
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 11:50 Mo 05.09.2005 | Autor: | alphaone |
Hi mathemaduenn und vielen dank für deine antwort.
Liege ich denn falsch wenn ich sage dass x(t) an der stelle wo x=0 nicht analytisch ist, da die Taylor entwicklung um den entsprechenden punkt eine funktion gibt die x(t) gar nicht entspricht?(Denn x(t) ist evidenterweise nicht linear was aber die Taylorentwicklung ist da alle Ableitungen ausser der ersten 0 sind) Doch falls dies der Fall ist sollte es doch eigentlich unmöglich sein den lokalen Abbruchfehler per Taylorentwicklung zu bestimmen, da diese ja gerade nicht zum wirklichen Funktionswert konvergiert. Ich würde mich über jegliche Berichtigung freuen
|
|
|
|
|
Hallo alphaone,
Für den Beweis der Konsitenz benötigt man folgenden Satz
Satz:
Sei [mm] f: I \rightarrow \R[/mm] eine n+1 mal stetig differenzierbare Funktion und a,x [mm] \in [/mm] I dann existiert [mm] \xi [/mm] zwischen a und x so daß
[mm]f(x)=\summe_{k=0}^n \bruch{f^{(k)}(a)}{k!}(x-a)^k+\bruch{f^{(n+1)}(\xi)}{(n+1)!}(x-a)^{n+1}[/mm]
Aus der stetigen Differenzierbarkeit erhälst Du das die (n+1)-te Ableitung zwischen a und x ihr max/min annimmt. Sprich man kann hier abschätzen.
Bsp.:
[mm]|f(x)-\summe_{k=0}^n \bruch{f^{(k)}(a)}{k!}(x-a)^k| =|\bruch{f^{(n+1)}(\xi)}{(n+1)!}|\cdot |(x-a)|^{n+1}[/mm]
[mm]|f(x)-\summe_{k=0}^n \bruch{f^{(k)}(a)}{k!}(x-a)^k| \le C \cdot |(x-a)|^{n+1}[/mm]
Das die Taylorentwicklung konvergiert braucht man imho für den Beweis nicht. Ich kann mir zwar denken was Du mit Abbruchfehler meinst aber irgenwie irritiert mich der Begriff. (Diskretisierungsfehler?)
viele Grüße
mathemaduenn
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 13:38 Mo 05.09.2005 | Autor: | alphaone |
Vielen Dank für dein Antwort,
mir ist der Satz von Taylor und deine Argumentation bekannt, doch kannst du einfach voraussetzen dass X(t) an der Stelle [mm] t_{0} [/mm] wo [mm] x(t_{0})=0 [/mm] n+1-fach stetig differenziebar ist? Meiner Meinung nach ist dies aus der Differentialgleichung nicht ersichtlich und wie gesagt wenn es der Fall wäre würde x(t)= 0+ [mm] dx/dt(t_{0})*(t-t_{0})+0 [/mm] = [mm] c_{1}+c_{2}*t [/mm] gelten doch dies ist doch offensichtlich nicht der Fall oder?
|
|
|
|
|
Hallo alphaone,
Das die Lösung der DGL differenzierbar ist hast Du doch bereits selbst gezeigt. Oder wie bist Du darauf gekommen das die Lösung nicht analytisch ist.
> wenn
> es der Fall wäre würde x(t)= 0+ [mm]dx/dt(t_{0})*(t-t_{0})+0[/mm] =
> [mm]c_{1}+c_{2}*t[/mm] gelten doch dies ist doch offensichtlich
> nicht der Fall oder?
Das die Taylorreihe i.A. mit der Funktion übereinstimmt ist (selbst lokal) falsch.
Bsp.:
[mm]f(x)=\begin{cases} e^{-\bruch{1}{x^2}}, & \mbox{für } x \not= 0 \\ 0, & \mbox{für } x=0 \end{cases}[/mm]
Eine Taylorentwicklung um 0 ergibt T(x)=0. Trotzdem würde die Abschätzung mittels Lagrange Restglied funktionieren. Mehr wird für den Beweis nicht benötigt und man kann im Falle [mm] x^{(2)}=x^{(3)}=x^{(4)}=0 [/mm] sowohl bei Euler als auch bei RKV mit der gleichen Abschätzung mit den gleichen Konstanten argumentieren.
viele Grüße
mathemaduenn
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 18:27 Mo 05.09.2005 | Autor: | alphaone |
Vielen dank für den Hinweis war wirklich dumm von mir...
Hab jetzt endlich mal nach Konsistenzbeweis gesucht, konnte aber nichts finden (vielleicht kennst du ne seite wo ich das nachlesen kann). Weiterhin frage ich mich ob die Aussage
[mm] |f(x)-\summe_{k=0}^n \bruch{f^{(k)}(a)}{k!}(x-a)^k| \le [/mm] C [mm] \cdot |(x-a)|^{n+1} [/mm]
in dem gegebenen Fall nicht gleichbedeutend damit ist zu sagen dass f(x) beliebig gut durch eine lineare funktiion approximierbar ist? Denn für beliebiges n gilt in dem gegebenen Fall:
[mm] \summe_{k=0}^n \bruch{f^{(k)}(a)}{k!}(x-a)^k [/mm] = [mm] c_{1}+c_{2}*x
[/mm]
und somit gilt
[mm] |f(x)-c_{1}-c_{2}*x| \le [/mm] C [mm] \cdot |(x-a)|^{n+1} [/mm] für beliebiges n und somit nimmt man n [mm] \to \infty [/mm] müßte doch eigentlch
[mm] |f(x)-c_{1}-c_{2}*x| \le [/mm] 0 gelten
also
f(x) = [mm] c_{1}-c_{2}*x
[/mm]
oder anders ausgedrückt: Mir ist nicht klar wie der Fehler durch die Taylorreihe abgeschätzt werden kann wenn diese nicht einmal lokal gegen den wahrenwert konvergiert.
|
|
|
|
|
Hallo alphone,
> Weiterhin frage ich mich ob die
> Aussage
> [mm]|f(x)-\summe_{k=0}^n \bruch{f^{(k)}(a)}{k!}(x-a)^k| \le[/mm] C
> [mm]\cdot |(x-a)|^{n+1}[/mm]
> in dem gegebenen Fall nicht gleichbedeutend damit ist zu
> sagen dass f(x) beliebig gut durch eine lineare funktiion
> approximierbar ist? Denn für beliebiges n gilt in dem
> gegebenen Fall:
> [mm]\summe_{k=0}^n \bruch{f^{(k)}(a)}{k!}(x-a)^k[/mm] =
> [mm]c_{1}+c_{2}*x[/mm]
> und somit gilt
> [mm]|f(x)-c_{1}-c_{2}*x| \le[/mm] C [mm]\cdot |(x-a)|^{n+1}[/mm] für
> beliebiges n und somit nimmt man n [mm]\to \infty[/mm] müßte doch
> eigentlch
> [mm]|f(x)-c_{1}-c_{2}*x| \le[/mm] 0 gelten
> also
> f(x) = [mm]c_{1}-c_{2}*x[/mm]
> oder anders ausgedrückt: Mir ist nicht klar wie der Fehler
> durch die Taylorreihe abgeschätzt werden kann wenn diese
> nicht einmal lokal gegen den wahrenwert konvergiert.
Hier war meine Notation wohl nicht ganz korrekt
Eigentlich müsste es heißen
[mm]|f(x)-\summe_{k=0}^n \bruch{f^{(k)}(a)}{k!}(x-a)^k| \le C_n \cdot |(x-a)|^{n+1}[/mm]
und falls die Taylorreihe den Konvergenzradius 0 hat würde dieses [mm] C_n [/mm] natürlich gegen unendlich gehen für n gegen unendlich. D.h. für das Bsp. das klassische Runge Kutta Verfahren hat zwar die höhere Ordnung aber mit (vermutlich) viele größeren Konstanten.
viele Grüße
mathemaduenn
Was Google ausgeworfen hat(Stichworte: Diskretisierungsfehler, DGL, Einschrittverfahren....)
link zu Konsistenz
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 15:53 Mi 07.09.2005 | Autor: | alphaone |
Zusammenfassend lässt es sich also so ausdrücken - der Diskretierungsfehler beim Eulerverfahren ist:
[mm] |x(t_{n+1})-x(t_{n})-(t_{n+1}-t_{n})dx/dt(t_{n})|=|x(t_{n+1})-\summe_{k=0}^n \bruch{x^{(k)}(t_{n})}{k!}(t_{n+1}-t_{n})^k+\summe_{k=0}^n \bruch{x^{(k)}(t_{n})}{k!}(t_{n+1}-t_{n})^k-x(t_{n})-(t_{n+1}-t_{n})dx/dt(t_{n})| \le |x(t_{n+1})-\summe_{k=0}^n \bruch{x^{(k)}(t_{n})}{k!}(t_{n+1}-t_{n})^k| [/mm] + [mm] |\summe_{k=0}^n \bruch{x^{(k)}(t_{n})}{k!}(t_{n+1}-t_{n})^k-x(t_{n})-(t_{n+1}-t_{n})dx/dt(t_{n})| \\\\\\\\*
[/mm]
für [mm] t_{n} \to t_{0} [/mm] (wobei [mm] x(t_{0})=0) [/mm] gilt aber dass für 2 [mm] \le [/mm] i ; [mm] x^i(t_{n}) \to [/mm] 0 . Somit gilt [mm] \summe_{k=0}^n \bruch{x^{(k)}(t_{n})}{k!}(t_{n+1}-t_{n})^k \approx h*dx/dt(t_{n})
[/mm]
wobei [mm] h=t_{n+1}-t_{n}. [/mm] Lässt man nun die Taylor entwicklung nach dem n-ten Glied abbrechen so gilt für den ersten Summanden oben:
[mm] |x(t_{n+1})-\summe_{k=0}^n \bruch{x^{(k)}(t_{n})}{k!}(t_{n+1}-t_{n})^k| \le C_n \cdot h^{n+1}
[/mm]
und für den zweiten:
[mm] |\summe_{k=0}^n \bruch{x^{(k)}(t_{n})}{k!}(t_{n+1}-t_{n})^k-x(t_{n})-(t_{n+1}-t_{n})dx/dt(t_{n})|\to [/mm] 0 da die höheren Ableitungen gegen 0 gehen.
Doch ist diese Konvergenz des zweiten Summanden ein ausreichendes Argument um zu zeigen dass die Ordnung des diskretierungsfehlers lediglich vom ersten Summanden abhängt und somit in diesem Fall n wäre?
|
|
|
|
|
Hallo alphaone,
> Zusammenfassend lässt es sich also so ausdrücken - der
> Diskretierungsfehler beim Eulerverfahren ist:
>
> [mm]|x(t_{n+1})-x(t_{n})-(t_{n+1}-t_{n})dx/dt(t_{n})|=|x(t_{n+1})-\summe_{k=0}^n \bruch{x^{(k)}(t_{n})}{k!}(t_{n+1}-t_{n})^k+\summe_{k=0}^n \bruch{x^{(k)}(t_{n})}{k!}(t_{n+1}-t_{n})^k-x(t_{n})-(t_{n+1}-t_{n})dx/dt(t_{n})| \le |x(t_{n+1})-\summe_{k=0}^n \bruch{x^{(k)}(t_{n})}{k!}(t_{n+1}-t_{n})^k|[/mm]
> + [mm]|\summe_{k=0}^n \bruch{x^{(k)}(t_{n})}{k!}(t_{n+1}-t_{n})^k-x(t_{n})-(t_{n+1}-t_{n})dx/dt(t_{n})| \\\\\\\\*[/mm]
>
Das [mm]t_n \to t_0[/mm] finde ich von der Notation her sehr unglücklich. [mm] t_n [/mm] sind ja eigentlich die Stützstellen da soll nichts konvergieren.
> für [mm]t_{n} \to t_{0}[/mm] (wobei [mm]x(t_{0})=0)[/mm] gilt aber dass für
> 2 [mm]\le[/mm] i ; [mm]x^i(t_{n}) \to[/mm] 0 . Somit gilt [mm]\summe_{k=0}^n \bruch{x^{(k)}(t_{n})}{k!}(t_{n+1}-t_{n})^k \approx h*dx/dt(t_{n})[/mm]
>
> wobei [mm]h=t_{n+1}-t_{n}.[/mm] Lässt man nun die Taylor entwicklung
> nach dem n-ten Glied abbrechen so gilt für den ersten
> Summanden oben:
> [mm]|x(t_{n+1})-\summe_{k=0}^n \bruch{x^{(k)}(t_{n})}{k!}(t_{n+1}-t_{n})^k| \le C_n \cdot h^{n+1}[/mm]
>
> und für den zweiten:
> [mm]|\summe_{k=0}^n \bruch{x^{(k)}(t_{n})}{k!}(t_{n+1}-t_{n})^k-x(t_{n})-(t_{n+1}-t_{n})dx/dt(t_{n})|\to[/mm]
> 0 da die höheren Ableitungen gegen 0 gehen.
> Doch ist diese Konvergenz des zweiten Summanden ein
> ausreichendes Argument um zu zeigen dass die Ordnung des
> diskretierungsfehlers lediglich vom ersten Summanden
> abhängt und somit in diesem Fall n wäre?
Wenn Du eine Konvergenzordnung zeigen willst reicht das nat. nicht.
[mm]|\summe_{k=0}^n \bruch{x^{(k)}(t_{n})}{k!}(t_{n+1}-t_{n})^k-x(t_{n})-(t_{n+1}-t_{n})dx/dt(t_{n})|=[/mm]
[mm]|\summe_{k=2}^n \bruch{x^{(k)}(t_{n})}{k!}(t_{n+1}-t_{n})^k|[/mm]
Da Du nicht geschrieben hast was Umgebung bedeuten soll such ich mir was raus. Sei [mm] x(t_a)=0 [/mm] und [mm] |t_n-t_a|
Jetzt kannst Du für die einzelnen Summanden auch eine Taylorentwicklung einsetzen mit [mm] t_a [/mm] als Entwicklungsstelle.
viele Grüße
mathemaduenn
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 12:47 So 11.09.2005 | Autor: | alphaone |
Ich könnte zwar [mm] t_{a} [/mm] als Entwicklungspunkt nehmen doch dann würde ich keine Aussagen über den Diskretierungsfehler im algemeinen (n+1)-ten Schritt treffen können denn meine eigentliche Aufgabe ist es ja [mm] |x(t_{n+1})-x(t_{n})-(t_{n+1}-t_{n})dx/dt(t_{n})| [/mm] abzuschätzen und auch wenn [mm] |t_n-t_a|\l [/mm] h sehe ich nicht wie
[mm] |x(t_{n+1})-\summe_{k=0}^n \bruch{x^{(k)}(t_{a})}{k!}(t_{n+1}-t_{a})^k| [/mm] sinnvoll abgeschätzt werden sollte, denn es geht mir ja darum nachzuweisen das in der gegebenen Situation der Diskretierungsfehler des Eulerverfahrens die Ordnung n hat sobald [mm] x\to [/mm] 0. Doch eine solche Abschätzung sehe ich leider für den Summanden oben um den Entwicklungswert [mm] t_{a} [/mm] nicht. Hoofe auf Anregungen.
|
|
|
|
|
Hallo alphaone,
> Ich könnte zwar [mm]t_{a}[/mm] als Entwicklungspunkt nehmen doch
> dann würde ich keine Aussagen über den Diskretierungsfehler
> im algemeinen (n+1)-ten Schritt treffen können
Für den allgemeinen n+1-ten Schritt gilt auch hier Euler schlechter als Runge-Kutta. Die Frage ist halt was ist eine Umgebung.
Stehen geblieben waren wir ja hier:
[mm]|\summe_{k=2}^n \bruch{x^{(k)}(t_{n})}{k!}(t_{n+1}-t_{n})^k|[/mm]
Betrachtet man einen einzelnen Summanden z.B. k=2
[mm] \bruch{x^{(2)}(t_{n})}{2!}(t_{n+1}-t_{n})^2
[/mm]
So kann man für [mm] x^{(2)}(t_{n}) [/mm] wiederum eine Taylorentwicklung einsetzen. Diesmal mit [mm] t_a [/mm] als Entwicklungsstelle. Da bleibt dann wegen [mm] x^{(2)}(t_{a})=x^{(3)}(t_{a})=...=0 [/mm] nur das Restglied übrig. Das kannst ja mal ausprobieren.
viele Grüße
mathemaduenn
|
|
|
|
|
Leider komme ich erst sehr spät zu diesem Gespräch.
Was ist denn ein nichtanlytischer Punkt?
Ist das Runge Kutta- und das Eulerverfahren ähnlich der Phasenfeldmethode?
Warum muss für eine analytische Lösung immer zuvor eine Taylorentwicklung gemacht werden?
|
|
|
|
|
Hallo MichaelHRO,
> Was ist denn ein nichtanlytischer Punkt?
Ein Punkt an dem die Taylorentwicklung der Funktion den Konvergenzradius 0 hat.
> Ist das Runge Kutta- und das Eulerverfahren ähnlich der
> Phasenfeldmethode?
Was ist die Phasenfeldmethode. Es klingt ein wenig nach Eulerverfahren(Phase - Winkel - Anstieg) bei dem ja die Anstiege benutzt werden um den nächsten Funktionswert zu berechnen.
> Warum muss für eine analytische Lösung immer zuvor eine
> Taylorentwicklung gemacht werden?
Eine Taylorentwicklung braucht man um Konvergenz des Verfahrens zu beweisen. Um eine DGL (numerisch) zu lösen muß man die nicht machen.
viele Grüße
mathemaduenn
|
|
|
|