0 Daumen
216 Aufrufe

Ich habe ein Lösungsverfahren für Runge Kutta 2 gegeben, und versuche nun Runge Kutta 4 zu entwickeln, allerdings verstehe ich nicht, wie ich die Variablen zuordnen soll:


Runge Kutta 2:

\( {x}_{0} = x(0) \)

\( {p}_{0} = p(0) \)


\( xh = {x}_{0} + 0.5*dt*{p}_{0} \)

\( ph = {p}_{0} + 0.5*dt*{x}_{0} \)


\( x(1) = {x}_{0} + dt*ph \)
\( p(1) = {p}_{0} + dt*xh \)


Dieses Verfahren stimmt. Das weiß ich.

Nun habe ich im Internet folgendes zu Runge Kutta 4 gefunden:


\( {t}_{k+1/2} = {t}_{k} + 0.5 * {h}_{k} \)

\( {t}_{k+1} = {t}_{k} + {h}_{k} \)

\( {y}_{k+1/4} = {y}_{k} + 0.5 * {h}_{k} * f({t}_{k}, {y}_{k}) \)

\( {y}_{k+1/2} = {y}_{k} + 0.5 * {h}_{k} * f({t}_{k+1/2}, {y}_{k+1/4}) \)

\( {y}_{k+3/4} = {y}_{k} + {h}_{k} * f({t}_{k+1/2}, {y}_{k+1/2}) \)

\( {y}_{k+1} = {y}_{k} + \frac{{h}_{k}}{6} * [f({t}_{k}, {y}_{k}) + 2*f({t}_{k+1/2}, {y}_{k+1/4})  + 2*f({t}_{k+1/2}, {y}_{k+1/2})  + f({t}_{k+1}, {y}_{k+3/4}) ] \)


Ich verstehe leider nicht, welche Variablen aus meinem bekannten RK-2 Verfahren mit welchen Variablen aus dieser Lösung des RK-4 Verfahrens korrespondieren. Was ich aber am verwirrendsten finde: was ist in meinem Fall die Funktion \( f(a, b) \)?

Avatar von

1 Antwort

0 Daumen
 
Beste Antwort

Hallo

was ist denn dein p in der Dgl

hier  mit RK4 wird doch die Dgl  y'=f(t,y) gelöst, wenn dein p die Funktion f ist dann ist dein x das y

hast du die Dgl x'=p(x,t)?

Gruß lul


Avatar von 106 k 🚀

x ist eine Koordinate, und p ein Impuls.

Zum Zeitpunkt t ist die Änderung von x(t) also p(t)

Umgekehrt ist aber auch x(t) die Änderungsrate von p(t)


Mein Code sieht folgendermaßen aus:

xh = x[n] + 0.5*dt * p[n]
ph = p[n] + 0.5*dt * x[n]

x[n+1] = x[n] + dt * ph
p[n+1] = p[n] + dt * xh,nb.m

Hallo

dann ist dein Runge Kutta 2 nicht allgemein für Dgl  x'=f(x,t) sondern nur für den Spezialfall dass f nicht von x abhängt.

dass x die Änderungsrate von p sein soll ist eigenartig.

Schreib doch mal die Dgl hin, die du lösen willst, denn was du schreibst ist nicht das übliche einfache K2

lul

Nun ja, ob es tatsächlich die Änderungsrate ist weiß ich nicht. Jedenfalls beeinflussen sich x und p gegenseitig.


Ich weiß leider nicht, was meine Differentialgleichung ist.

Ich hatte einfach gehofft, dass man das RK2 Verfahren, das ja wunderbar funktioniert in meinem Fall, zu der RK4 Methode erweitern kann. Denn in RK2 beeinflussen sich x und p ja auch gegenseitig.

Hallo

dein Rk scheint mir für das Dgl System

x'(t)=p(t)

p'(t)=x geeignet zu sein. das RK4 das du aus dem Netz hast ist aber für eine einzelne Dgl der form wie ich schrieb.

also such Runge Kutta für ein System von Dgl raus.

allerdings die e Funktion die sich ergibt lohnt sich eigentlich nicht so aufwendig zu programmieren.

lul

Alles klar, danke. Dann such ich mal die passende Differentialgleichung

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Mathelounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community