Mathematik online lernen im Mathe-Forum. Nachhilfe online
Startseite » Forum » Anfangswertproblem 2ter Ordnung

Anfangswertproblem 2ter Ordnung

Universität / Fachhochschule

Sonstiges

Tags: Mittelpunktmethode, Runge-Kutta

 
Antworten Neue Frage stellen Im Forum suchen
Neue Frage
Chica-Rabiosa

Chica-Rabiosa aktiv_icon

08:03 Uhr, 10.07.2016

Antworten
Guten Morgen,

gegeben ist folgendes Anfangswertproblem 2. Ordnung:

t2y''-ty'+2y-t2ln(t)=0 mit den Anfangswerten y(t=1)=0 und y'(t=1)=0.

Das Anfangswertproblem soll mit der Mittelpunktmethode (Runge-Kutta 2. Ordnung gelöst werden. Die Schrittweite beträgt h=0.1.

a) Überführen Sie das Anfangswertproblem in die Normalform.

b) Berechnen Sie mit dem angegebenen Verfahren den Wert y zum Zeitpunkt t=1.2.

In meinem Skript habe ich mir die Formel angeschaut und diese lautet:

(Mittelpunktmethode auch Runge-Kutta-Verfahren genannt)

Der Verlauf der Lösungsfunktion y(t) der DGL y'=f(t,y)

atb und y(a)=α

w0=α

wi+1=wi+h[f(ti+h2,wi+h2f(ti,wi))]

i=0,1,2... ,m-1 und h=b-am approximiert. Der lokale Fehler ist O(h3)

Ersetzt man den Term der Taylorschen Formel nicht wie bei der Mittelpunktmethode durch af(t+α,y+β), sondern durch

a1f(t,y)+a2f(t1+α,y+βf(t,y)), so erhält man durch den zusätzlichen Parameter eine unendliche Anzahl von Runge-Kutta-Formeln zweiter Ordnung.


Ich tue mich jetzt schwer die Formel anzuwenden, vor allem durch die ganzen Substitutionen erkenne ich jetzt nicht wie ich anhand der DGL 2. Ordnung die Mittelpunktformel ausführen soll? Die Schrittweite beträgt ja h=0.1.

Jetzt müsste ich eig nur den Laufindex i ausführen. Mein i ist doch jetzt i=2? Oder woran erkenne ich welche Laufindex i ich habe? Ich wäre unendlich dankbar wenn mir das jemand erklären könnte,

Grüße

Chica-Rabiosa

Für alle, die mir helfen möchten (automatisch von OnlineMathe generiert):
"Ich möchte die Lösung in Zusammenarbeit mit anderen erstellen."
Online-Nachhilfe in Mathematik
Antwort
ledum

ledum aktiv_icon

19:11 Uhr, 10.07.2016

Antworten
Hallo
erster Schritt: überführe die Dgl in ein System erster Ordnung nachdem du zuvor durch t0 dividiert hast mit y1=y,y2=y'
dann hast du y1'=y2y2'=f(t,y)
dann verwende besser
tk+12=tk+0.5h;
tk+1=tk+h
Chica-Rabiosa

Chica-Rabiosa aktiv_icon

19:39 Uhr, 10.07.2016

Antworten
Hallo ledum,

mit 1t folgt:

()ty''-y'+2yt-tln(t)=0

und mit y1=y und y2=y' folgt y1'=y2 und y2'=f(t,y)

dann hätte ich doch nach dem Schema entsprechend:

aus () mit y1=y und y2'=f(t,y):

ty2'-y2'+2y1t-tln(t)=0

Und wie weit läuft mein Index und wie wende ich jetzt deinen Tipp an?

tk+12=tk+0.5h

tk+1=tk+h

Das verstehe ich noch nicht so ganz,

danke sehr!

Chica-Rabiosa
Antwort
ledum

ledum aktiv_icon

22:37 Uhr, 10.07.2016

Antworten
Hallo
ich hatte einen Tipfehler, natürlich solltest du durch t2 teilen
dann hast du
y''=y't-2yt2+ln(t)
y1'=y2

y2'=y2t-2y1t2+ln(t)

ab jetzt immer mit dem Vektor y=(y1y2) rechnen

duh hast y0=y(t0))=y(1)=((00)

daraus rechnest du mit dem angegebenen Zwischenschritt y0=y(t0+h)=y(1.1) aus.
ich sehe gerade mein letzter post war nicht vollständig-

es gilt yk+12=yk+0.5hf(tk,yk)

yk+1=yk+hf(tk+12,yk+12)

dabei ist dein f
f(yk,tk)=(y2y2t-2y1t2+ln(t))
und natürlich ist dein erstes k=0
sorry für den unvollständigen post davor. jetzt sollte es stimmen
du musst immer y1 und y2 also den Vektor y weiter rechnen,
Gruß ledum
Chica-Rabiosa

Chica-Rabiosa aktiv_icon

23:00 Uhr, 10.07.2016

Antworten
Hey,

ich erkenne bzw. habe noch Schwierigkeiten beim Ausführen der Indexe. Vor allem wie weit bis zum wie vielten Index muss ich summieren? Das legt die Ordnung fest, wir haben ja zweite Ordnung, also i bzw. k=3?

Chica-Rabiosa
Antwort
ledum

ledum aktiv_icon

01:45 Uhr, 11.07.2016

Antworten
Hallo
der Index k hat nichts mit der ordnung zu tun, erbbezeichnet die einzelnen y Werte, die man berechnet. k=0 Anfangswert, k=1y beim Anfangswert+h usw
da du h=0.1 vorgegeben hast und von 1 bis 1.2 kommen sollst brauchst du also y2=y(1+2h)
dahin kommst du in 2 ganzen h Schritten.
also 1. y(1+h) ausrechnen genannt y1 (nicht zu verwechseln mit dem y1 als Komponente von y)
dann im nächsten Schritt aus y(1-1)y(1.1+h) ausrechnen
wenn du bis 1.8 rechnen müsstet wären es 8 Schritte.
warum rechnest du nicht mal den ersten Schritt?
Grußß ledum
Chica-Rabiosa

Chica-Rabiosa aktiv_icon

16:19 Uhr, 12.07.2016

Antworten
Naja warum ich nicht rechne ist, weil ich nur eine Anreihung von Variablen und Zahlen sehe und den kompletten Sinn dahinter nicht nachvollziehen kann.

Ich habe h=0.1 vorgegeben und woran liegt das, dass ich von 1.0 bis 1.2 komme?

Chica-Rabiosa
Antwort
ledum

ledum aktiv_icon

19:48 Uhr, 12.07.2016

Antworten
Hallo
die Idee bei dem ganzen: du hast einen Anfangswert y daraus kannst du aus der Dgl eine Anfangssteigung berechnen, im deinfachsten Fall gehst du mit dieser Steigung einen Schritt weiter y(neu)=y(alt)+h*y'(alt) die Methode ist runge Jutta erster Ordnung, oder Euler genannt.
Rung Kutta hat das verbessert.
du gehst nur h2 weit und rechnest y von (t0+h2) aus. daraus die Steigung bei y(t0+h2)
und mit dieser Steigung gehst du jetzt in einem h Schritt vom bekannten y zum neuen,
wenn du bei t=1 anfängst mit y(1) und einen Schritt der länge h=0.1 machst kommst du bei t=1,1 an und y(1,1) ein zweiter Schritt von 0.1 bringt dann t=1,1+0,1=1,2 und y(1,2)
mach es dir vielleicht erstmal bei einer 1d Dgl klar. z.By'(x)=2y
y(0)=1 daraus folgt y'(0)=2
y(0+h2)=y(0)+h(2y'(0) mit h=0.1 ist das dann y(0.05)=1+0.052=1,1
jetzt y'(0,05)=21,1=2,2
jetzt mit dieser Steigun von y(0) an einen h Schritt weiter gehen y(0+0,1)=y(0)+hy'(0.05)=1+0.12.2=1.22
jetzt das ganze wiederholen mit dem Anfangswert y(0.1)=1,22
wird es so klarer? nun das ganze nur auf den Vektor y anwenden.
Gruß ledum
Diese Frage wurde automatisch geschlossen, da der Fragesteller kein Interesse mehr an der Frage gezeigt hat.