Runge-Kutta-Verfahren < Numerik < Hochschule < Mathe < Vorhilfe
|
Aufgabe | Gegeben seien folgende Gleichungen:
y´= dy/dt = x
y_(i+1) = [mm] y_i [/mm] + x_(i+1) *dt
wobei dt = t_(i+1) - [mm] t_i [/mm] = h = konstant sein soll.
Des Weiteren ist:
x_(i+1) = [mm] x_i [/mm] + [mm] (a*y_i [/mm] + [mm] b*x_1)*dt
[/mm]
Alle y_(i+1) sollen mit dem Runge-Kutta-Verfahren berechnet werden. |
Ich habe diese Frage auch in folgenden Foren auf anderen Internetseiten gestellt:
http://www.matheplanet.com/
Ich wollte das klassische Runge-Kutta-Verfahren anwenden (siehe Wikipedia). Allerdings habe ich keine direkte Differentialgleichung, daher wollte ich als DGL einfach [mm] x_i+1 [/mm] nehmen
(wenn man das mit dem Eulerverfahren vergleicht ist [mm] x_i+1 [/mm] gerade f(t,y).
Allerdings habe ich da jetzt 3 Variablen, und zwar x, t und y.
Jemand hatte schon die Idee der impliziten DGL (allerdings habe ich keine Anhnung wie ich die aus meinen Gleichungen aufstellen soll), da dann wäre f(t, y, x=y´).
Wie mache ich das jetzt? Ich hatte zu Anfang h vernachlässigt, da h immer konstant sein soll, aber das führte zu keinen brauchbaren Ergebnissen.
Wäre für jede Hilfe dankbar!!!
Liebe Grüße
Matroid88
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 16:22 Mo 20.12.2010 | Autor: | Matroid88 |
Das ganze soll aber nicht über die Schwingungsgleichung laufen wie sie auf wikipedia aufgeführt ist (da ist ja schon die Ableitung drinnen). Ich soll lediglich die aufgeführten Formeln dazu nehmen.
Wäre für jeden Tipp dankbar!
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 17:09 Mo 20.12.2010 | Autor: | meili |
Hallo Matroid88,
> Gegeben seien folgende Gleichungen:
> y´= dy/dt = x
> y_(i+1) = [mm]y_i[/mm] + x_(i+1) *dt
> wobei dt = t_(i+1) - [mm]t_i[/mm] = h = konstant sein soll.
> Des Weiteren ist:
> x_(i+1) = [mm]x_i[/mm] + [mm](a*y_i[/mm] + [mm]b*x_1)*dt[/mm]
>
> Alle y_(i+1) sollen mit dem Runge-Kutta-Verfahren berechnet
> werden.
> Ich habe diese Frage auch in folgenden Foren auf anderen
> Internetseiten gestellt:
> http://www.matheplanet.com/
>
> Ich wollte das klassische Runge-Kutta-Verfahren anwenden
> (siehe Wikipedia). Allerdings habe ich keine direkte
> Differentialgleichung, daher wollte ich als DGL einfach
> [mm]x_i+1[/mm] nehmen
Eine direkte Differentialgleichung hast Du schon:
y' = x
Allerdings gibt mir das x auch Rätsel auf.
Ist x eine Funktion von t x(t)?
Oder ist y abhängig von x y(x)?
Zur Anwendung eines Runge-Kutta-Verfahrens fehlt der Anfangswert.
y(0) = [mm] $y_0$ [/mm] oder y(c) = [mm] $y_0$, [/mm] c, [mm] $y_0 \in \IR$
[/mm]
> (wenn man das mit dem Eulerverfahren vergleicht ist [mm]x_i+1[/mm]
> gerade f(t,y).
>
> Allerdings habe ich da jetzt 3 Variablen, und zwar x, t und
> y.
>
> Jemand hatte schon die Idee der impliziten DGL (allerdings
> habe ich keine Anhnung wie ich die aus meinen Gleichungen
> aufstellen soll), da dann wäre f(t, y, x=y´).
>
> Wie mache ich das jetzt? Ich hatte zu Anfang h
> vernachlässigt, da h immer konstant sein soll, aber das
> führte zu keinen brauchbaren Ergebnissen.
>
> Wäre für jede Hilfe dankbar!!!
Mit
[mm] $y_{i+1}$ [/mm] = [mm]y_i[/mm] + [mm] $x_{i+1}$ [/mm] *dt
wobei dt = [mm] $t_{i+1} [/mm] - [mm]t_i[/mm] = h = konstant sein soll.
Des Weiteren ist:
[mm] $x_{i+1} [/mm] = [mm]x_i[/mm] + [mm](a*y_i[/mm] + [mm]b*x_1)*dt[/mm]
hast Du schon ein Runge-Kutta-Schritt dastehen.
(Ich habe nicht kontrolliert, ob das die Koeffizienten des klassischen Runge-Kutta-Verfahren sind.)
Heisst das wirklich [mm]b*x_1[/mm] und nicht [mm]b*x_i[/mm] ?
Also in einander eingesetzt gibt es:
[mm] $y_{i+1}$ [/mm] = [mm]y_i[/mm] + [mm](x_i[/mm] + [mm](a*y_i[/mm] + [mm] b*x_1)*($t_{i+1} [/mm] - [mm]t_i[/mm] [mm] ))*($t_{i+1} [/mm] - [mm]t_i[/mm] )
>
> Liebe Grüße
> Matroid88
Gruß
meili
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 11:32 Di 21.12.2010 | Autor: | Matroid88 |
"Des Weiteren ist:
x_(i+1) = [mm] x_i [/mm] + [mm] (a*y_i [/mm] + [mm] b*x_1)*dt
[/mm]
hast Du schon ein Runge-Kutta-Schritt dastehen.
(Ich habe nicht kontrolliert, ob das die Koeffizienten des klassischen Runge-Kutta-Verfahren sind.)
Heisst das wirklich [mm] x_1 [/mm] und nicht [mm] x_i [/mm] ?"
Du hast Recht, das sollte [mm] x_i [/mm] heißen.
Dass ich da schon einen Runge-Kutta-Schritt zu stehen hatte, genau das hab ich nicht gesehen. Ich dachte ich muss das RK-Verfahren auf y anwenden, das stimmt aber so nicht. Deshalb hatte das dann auch nicht funktioniert...
Danke für die Hilfe!
Liebe Grüße
Matroid88
|
|
|
|