Euler explizit und implizit < DGL < Numerik < Hochschule < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 12:24 Fr 15.04.2011 | Autor: | Jojo987 |
Aufgabe | Geg: [mm] y'=2x+y^2+1 [/mm] ; AW: [mm] P_0=(1,1) [/mm] ; Intervall [mm] 1\le [/mm] x [mm] \le [/mm] 4 ; Schrittweite h=1
Ges: Annäherung der Lösung mittels dem expliziten und dem impliziten Eulerverfahren |
Hallo,
Also eigentlich ist mir ja die Theorie der Verfahren klar nur ich komme irgendwie nicht auf die Lösung ... was mache ich falsch?
[mm] y'=f(x,y)=2x+y^2+1
[/mm]
Euler explizit:
[mm] x_{k+1}=x_k+h
[/mm]
[mm] y_{k+1}=y_k+h*f(x_k;y_k)
[/mm]
[mm] x_0=1 y_0=1 [/mm] Anfangsbedingung
k=0: [mm] x_1=2 [/mm] ; [mm] y_1=5
[/mm]
k=1: [mm] x_2=3 [/mm] ; [mm] y_2=14
[/mm]
k=2: [mm] x_3=4 [/mm] ; [mm] y_3=30
[/mm]
Euler Implizit:
[mm] x_{k+1}=x_k+h
[/mm]
[mm] y_{k+1}=y_k+h*f(x_{k+1};y_{k+1})
[/mm]
k=0: [mm] x_1=2 [/mm] ; [mm] y_1=y_0+h*(2*x_1+y_1^2+1)
[/mm]
Auflösen nach [mm] y_1 [/mm] und einsetzen von [mm] h,y_0 [/mm] und [mm] x_1
[/mm]
[mm] y_1^2-y_1+6=0
[/mm]
[mm] y_{1}=\bruch{1}{2} \pm i*\wurzel{\bruch{23}{4}} [/mm] ????
|
|
|
|
> Geg: [mm]y'=2x+y^2+1[/mm] ; AW: [mm]P_0=(1,1)[/mm] ; Intervall [mm]1\le[/mm] x [mm]\le[/mm] 4
> ; Schrittweite h=1
>
> Ges: Annäherung der Lösung mittels dem expliziten und dem
> impliziten Eulerverfahren
> Hallo,
>
> Also eigentlich ist mir ja die Theorie der Verfahren klar
> nur ich komme irgendwie nicht auf die Lösung ... was mache
> ich falsch?
>
> [mm]y'=f(x,y)=2x+y^2+1[/mm]
>
> Euler explizit:
>
> [mm]x_{k+1}=x_k+h[/mm]
> [mm]y_{k+1}=y_k+h*f(x_k;y_k)[/mm]
>
> [mm]x_0=1 y_0=1[/mm] Anfangsbedingung
>
> k=0: [mm]x_1=2[/mm] ; [mm]y_1=5[/mm]
> k=1: [mm]x_2=3[/mm] ; [mm]y_2=14[/mm]
> k=2: [mm]x_3=4[/mm] ; [mm]y_3=30[/mm]
Ich erhalte für [mm] y_2 [/mm] und [mm] y_3 [/mm] viel größere Werte ...
> Euler Implizit:
>
> [mm]x_{k+1}=x_k+h[/mm]
> [mm]y_{k+1}=y_k+h*f(x_{k+1};y_{k+1})[/mm]
>
> k=0: [mm]x_1=2[/mm] ; [mm]y_1=y_0+h*(2*x_1+y_1^2+1)[/mm]
>
> Auflösen nach [mm]y_1[/mm] und einsetzen von [mm]h,y_0[/mm] und [mm]x_1[/mm]
>
> [mm]y_1^2-y_1+6=0[/mm]
> [mm]y_{1}=\bruch{1}{2} \pm i*\wurzel{\bruch{23}{4}}[/mm]
> ????
Ja, ich rätsle ebenfalls. Die Differentialgleichung ist doch
wohl für Kurven in [mm] \IR^2 [/mm] gedacht. Es scheint jedenfalls, dass
das Anfangswertproblem entweder nicht lösbar ist oder dass
das implizite Euler-Verfahren in diesem Fall (und mit dem
gewählten h) versagt. Allerdings wird es auch mit einem
kleinen Wert von h (etwa h=0.01) nicht besser.
Dass das explizite Verfahren bei dieser DGL stets "funktio-
niert", liegt daran, dass f(x,y) in jedem Punkt einen (reellen)
Steigungswert liefert. Wie gut die Approximation wirklich
ist, ist damit natürlich überhaupt noch nicht klar.
Und was ist die Lehre aus dem Beispiel: man kann weder
auf das "explizite" noch auf das "implizite" Verfahren einfach
vertrauen ohne weitere Abklärung - zum Beispiel durch eine
analytische Lösung der DGL.
LG Al-Chw.
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 14:00 Fr 15.04.2011 | Autor: | Jojo987 |
Aufgabe | y'=2x+y+1 ; [mm] P_0=(1,1) [/mm] ; Intervall 1 [mm] \le [/mm] x [mm] \le [/mm] 3 ; Schrittweite h=0,5
Gesucht: Annäherung der Lösung durch das explizite und implizite Eulerverfahren. |
y'=f(x,y)=2x+y+1
[mm] x_0=1 [/mm] ; [mm] y_0=1 [/mm] Anfangsbedingung
Euler explizit:
[mm] x_{k+1}=x_k+h
[/mm]
[mm] y_{k+1}=y_k+h*f(x_k;y_k)
[/mm]
k=0: [mm] x_1=1,5 [/mm] ; [mm] y_1=3
[/mm]
k=1: [mm] x_2=2,0 [/mm] ; [mm] y_2=6,5
[/mm]
k=2: [mm] x_3=2,5 [/mm] ; [mm] y_3=12,25
[/mm]
k=3: [mm] x_4=3,0 [/mm] ; [mm] y_4=21,375
[/mm]
Euler Implizit:
[mm] x_{k+1}=x_k+h
[/mm]
[mm] y_{k+1}=y_k+h*f(x_{k+1};y_{k+1})
[/mm]
k=0: [mm] x_1=1,5 [/mm] ; [mm] y_1=1+1,5+0,5*y_1+0,5
[/mm]
[mm] y_1=6
[/mm]
k=1: [mm] x_2=2,0 [/mm] ; [mm] y_2=17
[/mm]
k=2: [mm] x_3=2,5 [/mm] ; [mm] y_3=40
[/mm]
k=3: [mm] x_4=3,0 [/mm] ; [mm] y_4=87
[/mm]
Sollte das explizite Eulerverfahren nicht in etwa dem impliziten entsprechen? bzw der Fehlerterm ist doch bei beiden Verfahren O(h) also erster Ordnung. Wieso gehen also die Lösungen so weit auseinander? ist die (vielleicht zu große) Schrittweite dafür verantwortlich? Oder sind doch wieder Rechenfehler drin :P ?
Danke für die Antworten.
Gruß Jojo
|
|
|
|
|
> y'=2x+y+1 ; [mm]P_0=(1,1)[/mm] ; Intervall 1 [mm]\le[/mm] x [mm]\le[/mm] 3 ;
> Schrittweite h=0,5
>
> Gesucht: Annäherung der Lösung durch das explizite und
> implizite Eulerverfahren.
> y'=f(x,y)=2x+y+1
>
> [mm]x_0=1[/mm] ; [mm]y_0=1[/mm] Anfangsbedingung
>
> Euler explizit:
>
> [mm]x_{k+1}=x_k+h[/mm]
> [mm]y_{k+1}=y_k+h*f(x_k;y_k)[/mm]
>
> k=0: [mm]x_1=1,5[/mm] ; [mm]y_1=3[/mm]
> k=1: [mm]x_2=2,0[/mm] ; [mm]y_2=6,5[/mm]
> k=2: [mm]x_3=2,5[/mm] ; [mm]y_3=12,25[/mm]
> k=3: [mm]x_4=3,0[/mm] ; [mm]y_4=21,375[/mm]
>
> Euler Implizit:
>
> [mm]x_{k+1}=x_k+h[/mm]
> [mm]y_{k+1}=y_k+h*f(x_{k+1};y_{k+1})[/mm]
>
> k=0: [mm]x_1=1,5[/mm] ; [mm]y_1=1+1,5+0,5*y_1+0,5[/mm]
> [mm]y_1=6[/mm]
> k=1: [mm]x_2=2,0[/mm] ; [mm]y_2=17[/mm]
> k=2: [mm]x_3=2,5[/mm] ; [mm]y_3=40[/mm]
> k=3: [mm]x_4=3,0[/mm] ; [mm]y_4=87[/mm]
>
> Sollte das explizite Eulerverfahren nicht in etwa dem
> impliziten entsprechen? bzw der Fehlerterm ist doch bei
> beiden Verfahren O(h) also erster Ordnung. Wieso gehen also
> die Lösungen so weit auseinander? ist die (vielleicht zu
> große) Schrittweite dafür verantwortlich? Oder sind doch
> wieder Rechenfehler drin :P ?
>
> Danke für die Antworten.
>
> Gruß Jojo
Hallo Jojo,
du hast jetzt h=0.5 genommen. Aber das ist für dieses
Beispiel immer noch ein sehr großer Wert, und daher
scheint es mir nicht verwunderlich, dass es große
Diskrepanzen gibt. Die Rechnungen habe ich jetzt
nicht nachgeprüft, aber ich gebe dir mal die exakte
Lösung (wieder nach Wolfram) an:
[mm] y=6\,e^{x-1}-2\,x-3
[/mm]
Das Euler-Verfahren ist für praktische Zwecke wirklich
nicht das Gelbe vom Ei. Ich rate dir deshalb, als
nächstes einmal das Verfahren von Heun und dann
vielleicht auch das "Klassische Runge-Kutta Verfahren"
anzuschauen und auszuprobieren.
Natürlich solltest du die Tests dann wenn immer
möglich mit einem Computerprogramm oder doch
mit Tabellenkalkulation durchführen, wenn du dich
nicht zu Tode rechnen willst ...
LG Al-Chw.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 15:03 Fr 15.04.2011 | Autor: | Jojo987 |
> Hallo Jojo,
>
> du hast jetzt h=0.5 genommen. Aber das ist für dieses
> Beispiel immer noch ein sehr großer Wert, und daher
> scheint es mir nicht verwunderlich, dass es große
> Diskrepanzen gibt. Die Rechnungen habe ich jetzt
> nicht nachgeprüft, aber ich gebe dir mal die exakte
> Lösung (wieder nach Wolfram) an:
>
> [mm]y=6\,e^{x-1}-2\,x-3[/mm]
>
> Das Euler-Verfahren ist für praktische Zwecke wirklich
> nicht das Gelbe vom Ei. Ich rate dir deshalb, als
> nächstes einmal das Verfahren von Heun und dann
> vielleicht auch das "Klassische Runge-Kutta Verfahren"
> anzuschauen und auszuprobieren.
> Natürlich solltest du die Tests dann wenn immer
> möglich mit einem Computerprogramm oder doch
> mit Tabellenkalkulation durchführen, wenn du dich
> nicht zu Tode rechnen willst ...
Hallo Al-Chw
Danke erstmal für deine Mühen. hat mich jedenfalles weitergebracht. Das mit der Tabellenkalkulation ist eine sehr gute Idee. habe dies nun für diese DGL für das Eulerverfahren (implizit und explizit) implementiert. Die Lösungen dienen mir nun aber eher als kontrolle da ich bei der Prüfung auch händisch rechnen muss.
Zur Schrittweite h: Man sieht das des Eulerverfahren erst ab einer sehr kleinen schrittweite (h=0,05) in den Bereich der analytischen Lösung kommt. Nun sind sich auch das explizite und Implizite Eulerverfahren einig. Die Runge Kutta Verfahren werde ich nun noch dazu implementieren und auch das Adams-Bashforth Verfahren dazusetzen.....das gibt einen guten Überblick über die genauigkeit der Verfahren.
Vielen Dank
Gruß Jojo
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 16:36 Fr 15.04.2011 | Autor: | Jojo987 |
h=0,5 wurde schlecht skaliert....hier die verbesserte version
|
|
|
|
|
Seltsam, dass das Runge-Kutta-Verfahren nicht am
eigentlichen Startpunkt (wie alle anderen) beginnt !
Da muss noch ein Fehler dahinter stecken.
LG
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 11:15 Sa 16.04.2011 | Autor: | Jojo987 |
Ja hab ich auch schon bemerkt. Im Diagramm ging fuer den runge kutta der [mm] y_0 [/mm] unter daher hört er auch frueher auf als die anderen Kurven. Wenn man den runge kutta also um h nach rechts verschiebt stimmts sogar ziemlich genau fuer h=0,5
|
|
|
|
|
> Ja hab ich auch schon bemerkt. Im Diagramm ging fuer den
> runge kutta der [mm]y_0[/mm] unter daher hört er auch frueher auf
> als die anderen Kurven. Wenn man den runge kutta also um h
> nach rechts verschiebt stimmts sogar ziemlich genau fuer
> h=0,5
Dann liefere doch bitte die korrigierten Grafiken noch
nach - im Sinne einer "Ehrenrettung" für Runge / Kutta !
LG
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 17:16 Sa 16.04.2011 | Autor: | leduart |
Hallo jojo
gut dass du die graphiken noch gepostet hast, aber lad doch graphiken, die du selbst erstellt hast hier direkt hoch als jpg oder png. dann haben auch spätere leser deines artikels noch was davon.
Gruss leduart
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 17:32 Sa 16.04.2011 | Autor: | Jojo987 |
h=0,5
h=0,2
h=0,05
Dateianhänge: Anhang Nr. 1 (Typ: png) [nicht öffentlich] Anhang Nr. 2 (Typ: png) [nicht öffentlich] Anhang Nr. 3 (Typ: png) [nicht öffentlich]
|
|
|
|
|
> h=0,5
> h=0,2
> h=0,05
Danke !
die Rehabilitation von Runge-Kutta scheint ja außer-
ordentlich gut zu klappen, da der Runge-Kutta-Graph
den Graph der exakten Lösung wenigstens im Bereich
[mm] 1\le{x}\le3 [/mm] graphisch makellos überdeckt, sogar für
den recht großen Wert h=0.5 ...
LG Al-Chw.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 01:35 So 17.04.2011 | Autor: | Jojo987 |
ja....und danke euch nochmal für die hilfe...... durch weitere Recherche mittels Heun und Bashforth denke ich die DGLS erster ordnung auch hinsichtlich des Fehlers genügend verstanden zu habe...nun werde ich mich DGLs höhere ordnung widmen.....dabei kann es sein, dass ich eure hilfe nochmals in anspruch nehmen muss :P ..... aber ich bewundere eure Einstellung....thumb up!!!!
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 15:07 Fr 15.04.2011 | Autor: | leduart |
Hallo
schon mit die wohl einfachste Dgl y'=y kannst du nicht mit dem impliziten Eulerverfahren und h=1 für den üblichen startwert (0,1) lösen, sondern kommst auf den widerspruch y1=1+y1.
Das Verfahren will ja eine sehne beschreiben, die die richtige Steigung (ableitung an der stelle k+1 hat. bei y'=y kann man leicht sehen, dass das nicht geht. Deine Dgl ähnelt der für tan(x) [mm] (y'=y^2+1) [/mm] also eine sehr schnell steigende fkt, sicher steiler als [mm] e^x. [/mm] also muss das verfahren scheitern,
gruss leduart
|
|
|
|