Runge Kutta < DGL < Numerik < Hochschule < Mathe < Vorhilfe
|
Aufgabe | Betrachte zur Lösung der Differentialgleichung y'=f(y) die implizite Mittelpunktsregel:
[mm] y_{n+1}=y_n+hf(\bruch{y_n+y_{n+1}}{2})
[/mm]
(a) Zeige, dass das Verfahren als implizites Runge Kutta verfahren aufgefasst werden kann.
Geben Sie die Runge Kutta Koeffizienten an.
(b) BEstimmen Sie die Ordnung des Verfahrens |
Hallo zusammen,
Ich habe generell Probleme mit dem Runge Kutta verfahren und hoffe ihr könnt mir weiterhelfen.
Wir haben folge def für runge-Kutta (explizit) Algorithmus:
[mm] Y_1=y_0 \qquad \qquad \qquad \qquad Y'_1=f(t_0+c_1h,Y_1)
[/mm]
[mm] Y_2=y_0+ha_{21}Y'_2 \qquad \quad Y'_2=f(t_0+c_2h,Y_2)
[/mm]
[mm] \vdots \qquad \qquad \qquad \vdots
[/mm]
[mm] Y_i=y_0+h\summe_{j=1}^{i-1}a_{ij}Y'_j \qquad Y'_i=f(t_0+c_jh,Y'_i) [/mm]
Die mittelpunktsregel hat folgende
Anzahl der Knoten s=1
Knoten [mm] c_1=1/2
[/mm]
Gewichte [mm] b_1=1
[/mm]
Kann mir da jemand weiterhelfen? Danke im voraus.
|
|
|
|
Hallo questionpeter,
> Betrachte zur Lösung der Differentialgleichung y'=f(y) die
> implizite Mittelpunktsregel:
>
> [mm]y_{n+1}=y_n+hf(\bruch{y_n+y_{n+1}}{2})[/mm]
>
> (a) Zeige, dass das Verfahren als implizites Runge Kutta
> verfahren aufgefasst werden kann.
> Geben Sie die Runge Kutta Koeffizienten an.
>
> (b) BEstimmen Sie die Ordnung des Verfahrens
> Hallo zusammen,
>
> Ich habe generell Probleme mit dem Runge Kutta verfahren
> und hoffe ihr könnt mir weiterhelfen.
>
Wenn Du Deine Probleme etwas näher beschreibst,
dann können wir Dir auch helfen.
> Wir haben folge def für runge-Kutta (explizit)
> Algorithmus:
>
> [mm]Y_1=y_0 \qquad \qquad \qquad \qquad Y'_1=f(t_0+c_1h,Y_1)[/mm]
>
> [mm]Y_2=y_0+ha_{21}Y'_2 \qquad \quad Y'_2=f(t_0+c_2h,Y_2)[/mm]
>
> [mm]\vdots \qquad \qquad \qquad \vdots[/mm]
>
> [mm]Y_i=y_0+h\summe_{j=1}^{i-1}a_{ij}Y'_j \qquad Y'_i=f(t_0+c_jh,Y'_i)[/mm]
>
>
> Die mittelpunktsregel hat folgende
> Anzahl der Knoten s=1
> Knoten [mm]c_1=1/2[/mm]
> Gewichte [mm]b_1=1[/mm]
>
>
> Kann mir da jemand weiterhelfen? Danke im voraus.
>
Gruss
MathePower
|
|
|
|
|
Das Problem ist dass im Skript nur von einem expliziten Runge Kutta verfahren steht und nichts über eine implizten RK-verfahren.
Worin unterscheiden sich sich?
Und mein zusätzliches Problem ist es auch wei ich meisten an die aufgaben herangehen.
ich hätte aufgrund dem wissen dass s=1, c=1/2
dass in den algorithmus eingesetzt nämlich
[mm] Y_1=y_0 [/mm] und [mm] Y'_1=f(t_0+\bruch{h}{2},Y_1)
[/mm]
Kannst du mir helfen, ich will es wirklich verstehen. Du kannst es auch anhand eines anderen Beispiel es mir erklären.
|
|
|
|
|
Hallo questionpeter,
> Das Problem ist dass im Skript nur von einem expliziten
> Runge Kutta verfahren steht und nichts über eine implizten
> RK-verfahren.
>
> Worin unterscheiden sich sich?
>
Siehe z.B. hier.
> Und mein zusätzliches Problem ist es auch wei ich meisten
> an die aufgaben herangehen.
>
> ich hätte aufgrund dem wissen dass s=1, c=1/2
>
> dass in den algorithmus eingesetzt nämlich
>
> [mm]Y_1=y_0[/mm] und [mm]Y'_1=f(t_0+\bruch{h}{2},Y_1)[/mm]
>
> Kannst du mir helfen, ich will es wirklich verstehen. Du
> kannst es auch anhand eines anderen Beispiel es mir
> erklären.
Gruss
MathePower
|
|
|
|
|
danke nochmal, aber
dadurch wurde noch nicht ganz mein problem beseitig wie ich dieses verfahre verwende
z.B hatte folgendes beispiel aus dem skript
[mm] y_1=y_0+hf(t_0+\bruch{h}{2},y_0+\bruch{h}{2}f(t_0,y_0)) [/mm] wobei der letzte Term einen Eulerschritt zur Schrittweite h/2 entspricht
damit erhalten sie folgenden Algorithmus:
[mm] Y_1=y_0 [/mm]
[mm] Y'_1=f(t_0,y_0)
[/mm]
[mm] Y_2=y_0+\bruch{h}{2}Y'_1
[/mm]
[mm] Y'_2=f(t_0+\bruch{h}{2},Y_2)
[/mm]
[mm] y_1=y_0+hY'_2
[/mm]
Man erhält dann ein 2-stufiges Verfahren mit folg koeffizienten
[mm] \vmat{ \vmat{ 0 \\ 1/2 }& \vmat{ 0 & 0 \\ 1/2 & 0 } \\ & \vmat{ 0 & 1} }
[/mm]
ich verstehe einfach nicht wie sie auf dem algorithmus kommen. Egal wie lange ich an diesen Thema sitze und mich damit beschäftige, ich komme einfach nicht weiter. kannst du mir evtl an diesen Beispiel sagen wie man zu diesen algorithmus kommt.
|
|
|
|
|
Hallo questionpeter,
> danke nochmal, aber
> dadurch wurde noch nicht ganz mein problem beseitig wie ich
> dieses verfahre verwende
>
> z.B hatte folgendes beispiel aus dem skript
>
> [mm]y_1=y_0+hf(t_0+\bruch{h}{2},y_0+\bruch{h}{2}f(t_0,y_0))[/mm]
> wobei der letzte Term einen Eulerschritt zur Schrittweite
> h/2 entspricht
>
> damit erhalten sie folgenden Algorithmus:
> [mm]Y_1=y_0[/mm]
> [mm]Y'_1=f(t_0,y_0)[/mm]
Hier müsste dann stehen:
[mm]Y'_1=f(t_0,\blue{Y_{1}})[/mm]
> [mm]Y_2=y_0+\bruch{h}{2}Y'_1[/mm]
> [mm]Y'_2=f(t_0+\bruch{h}{2},Y_2)[/mm]
>
> [mm]y_1=y_0+hY'_2[/mm]
>
Schritt 1: [mm]Y_{1}=y_{0}[/mm]
Damit wird aus [mm]y_1=y_0+hf(t_0+\bruch{h}{2},y_0+\bruch{h}{2}f(t_0,y_0))[/mm]
[mm]y_1=y_{0}+hf(t_0+\bruch{h}{2},y_0+\bruch{h}{2}f(t_0,\blue{Y_{1}}))[/mm]
Schritt 2: [mm]Y'_1=f(t_0,Y_{1})[/mm]
Dann erhält man
[mm]y_1=y_{0}+hf(t_0+\bruch{h}{2},y_0+\bruch{h}{2}\blue{Y'_{1}})[/mm]
Schritt 3: [mm]Y_2=y_0+\bruch{h}{2}Y'_1[/mm]
Damit erhält man:
[mm]y_1=y_{0}+hf(t_0+\bruch{h}{2},\blue{Y_{2}})[/mm]
Schritt 4: [mm]Y'_2=f(t_0+\bruch{h}{2},Y_2)[/mm]
Dann wird daraus:
[mm]y_1=y_{0}+h\blue{Y'_{2}}[/mm]
Es wird mit der letzten Funktionsauswertung begonnen
und dann wird sich sukzessive nach vorne gearbeitet.
> Man erhält dann ein 2-stufiges Verfahren mit folg
> koeffizienten
> [mm]\vmat{ \vmat{ 0 \\ 1/2 }& \vmat{ 0 & 0 \\ 1/2 & 0 } \\ & \vmat{ 0 & 1} }[/mm]
>
> ich verstehe einfach nicht wie sie auf dem algorithmus
> kommen. Egal wie lange ich an diesen Thema sitze und mich
> damit beschäftige, ich komme einfach nicht weiter. kannst
> du mir evtl an diesen Beispiel sagen wie man zu diesen
> algorithmus kommt.
>
Gruss
MathePower
|
|
|
|