Einschrittverfahren DGL Taylor < Numerik < Hochschule < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 20:25 Di 03.07.2007 | Autor: | IceCube |
Aufgabe | Einschrittverfahren 2. Ordnung
[mm] \eta_{i+1} [/mm][mm] =\eta_i+h\Phi(t_i,\eta_i,h)
[/mm]
[mm] \bar x(t_i+h) =\eta_i+h[f+\bruch{h}{2}(f_t+f_xf)+...]_{t_i,\eta_i} [/mm] (2)
For an explicit single-step method of 2nd order th following ansatz is chosen: (3)
[mm] \Phi(t,x,h) [/mm] = [mm] b_1f^{(1)}+b_2f^{(2)}
[/mm]
with
[mm] f^{(1)}=f(t,x) [/mm]
[mm] f^{(2)}=f(t+c_2h,x+a_{21}hf^{(1)}) [/mm] (A)
By using Taylor-series to expand th derivatives [mm] f^{(1)} [/mm] and [mm] f^{(2)} [/mm] in respect of h and truncating them after the linear term it follows:
[mm] f^{(1)} [/mm] = f
[mm] f^{(2)}=f+f_t*c_2*h+f_x*a_{21}*h* f^{(1)}+... [/mm] (B)
Plugged in ansatz (3) the increment function results in
[mm] \Phi(t,x,h)=(b_1+b_2)f+b_2c_2*h f_t+b_2a_21*hf_xf
[/mm]
an by comparsion with the Taylor-series(2) the following linear system is found
[mm] b_1+b_2=1
[/mm]
[mm] b_2c_2 [/mm] =1/2
b_2a_21 = 1/2 |
Hallo,
versuche schon einige Zeit den Schritt von A nach B nachzuvollziehen.
Mir ist nicht klar wie ich die Taylorreihe entwickeln muss.
Wenn ich [mm] f^{(2)} [/mm] als Funktion von 2 Veränderlichen betrachte müsste
der Entwicklungsschritt doch in etwa wie folgend außsehen?:
[mm]f^{(2)}=f(t_i,\eta_i)+\bruch{df(t,x)}{dt}|_{t_i,\eta_i}(t-t_i)+\bruch{df(t,x)}{dx}|_{t_i,\eta_i}(x-x_i)+...[/mm]
wobei ich [mm] \bruch{df}{dt} [/mm] noch nach der Kettenregel ableiten müsste, oder?
wenn ich denn allerdings einsetze komme ich nicht auf die gewünschte Form
Wäre super wenn mir jemand wieterhelfen könnte!!
Viele Grüße
IceCube
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 21:34 Di 03.07.2007 | Autor: | rainerS |
Hallo IceCube!
> For an explicit single-step method of 2nd order th
> following ansatz is chosen: (3)
>
> [mm]\Phi(t,x,h)[/mm] = [mm]b_1f^{(1)}+b_2f^{(2)}[/mm]
>
> with
> [mm]f^{(1)}=f(t,x)[/mm]
> [mm]f^{(2)}=f(t+c_2h,x+a_{21}hf^{(1)})[/mm] (A)
>
> By using Taylor-series to expand th derivatives [mm]f^{(1)}[/mm] and
> [mm]f^{(2)}[/mm] in respect of h and truncating them after the
> linear term it follows:
>
> [mm]f^{(1)}[/mm] = f
> [mm]f^{(2)}=f+f_t*c_2*h+f_x*a_{21}*h* f^{(1)}+...[/mm] (B)
> versuche schon einige Zeit den Schritt von A nach B
> nachzuvollziehen.
> Mir ist nicht klar wie ich die Taylorreihe entwickeln
> muss.
>
> Wenn ich [mm]f^{(2)}[/mm] als Funktion von 2 Veränderlichen
> betrachte müsste
> der Entwicklungsschritt doch in etwa wie folgend
> außsehen?:
>
> [mm]f^{(2)}=f(t_i,\eta_i)+\bruch{df(t,x)}{dt}|_{t_i,\eta_i}(t-t_i)+\bruch{df(t,x)}{dx}|_{t_i,\eta_i}(x-x_i)+...[/mm]
Korrekt, denn wenn du [mm](t-t_i) = c_2*h[/mm] und [mm](x-x_i)=a_{21}hf^{(1)}[/mm] einsetzt, hast du (B).
Aber es geht einfacher: im Text steht, man solle die Taylorentwicklung nach [mm]h[/mm] ausrechnen. [mm]f^{(1)}[/mm] hängt nicht von [mm]h[/mm] ab, deswegen ergibt sich nur das (bezüglich [mm]h[/mm]) konstante Glied [mm]f[/mm]. Für [mm]f^{(2)}[/mm] ergibt sich
[mm] f^{(2)} = f(t+c_2*0,x+a_{21}*0*f^{(1)}) + \bruch{df^{(2)}}{dh}f(t+c_2*0,x+a_{21}*0*f^{(1)}) *h+...
= f(t,x) +\left( f_t(t,x)*\bruch{d(t+c_2h)}{dh} + f_x(t,x) * \bruch{d(x+a_{21}hf^{(1)})}{dh}\right)*h+...[/mm]
Grüße
Rainer
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 23:43 Di 03.07.2007 | Autor: | IceCube |
Hi Rainer, vielen Dank für deine schnelle Antwort!!
Du sagst, dass mein Ansatz soweit richtig ist...
bin ich wohl gerade zu dumm zum rechnen
[mm] f^{(2)}=f(t_i,\eta_i)+\bruch{df(t,x)}{dt}|_{t_i,\eta_i}(t-t_i)+\bruch{df(t,x)}{dx}|_{t_i,\eta_i}(x-x_i)+...
[/mm]
[mm] =f+(f_x*f+f_t)(t-t_i)+f_x(x-x_i)+...
[/mm]
[mm] =f+(f_x*f+f_t)*c_2h+f_x*a_{21}hf^{(1)}+...
[/mm]
stimmt [mm] \bruch{df(t,x)}{dt}=f_x*\bruch{dx}{dt}+f_t=f_x*f+f_t[/mm]nicht?
Wäre super wenn du mir noch mal weiterhilfst.
Viele Grüße
IceCube
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 23:53 Di 03.07.2007 | Autor: | rainerS |
Hallo IceCube,
> Du sagst, dass mein Ansatz soweit richtig ist...
> bin ich wohl gerade zu dumm zum rechnen
Nein, du musst genau lesen. Du sollst nicht [mm]\bruch{df(t,x)}{dt}[/mm] ausrechnen, sondern [mm]\bruch{df^{(2)}(v_1,v_2)}{dh}[/mm] , wobei [mm]v_1[/mm] und [mm]v_2[/mm] von [mm]h[/mm] abhängen, nämlich [mm]v_1=t+c_2 h[/mm], [mm]v_2=x+a_{21}hf^{(1)}[/mm].
Dann wendest du die Kettenregel an.
Viele Grüße
Rainer
|
|
|
|