runge kutta verfahren



  • hallo.

    ich muss eine funktion schreiben, die differenzialgleichungen mit dem runge kutta verfahren löst.
    ich soll das verfahren mit der differenzialgleichung y''= -y testen.

    hier die beschreibung des verfahrens:
    http://de.wikipedia.org/wiki/Klassisches_Runge-Kutta-Verfahren

    kann mir jemand helfen und ansätze geben, ich steh da völlig auf der leitung.
    lg



  • Na offenbar steht die DGL nicht in der passenden Form da, also muß man sie im ersten Schritt mal auf die passende Form bringen ... ist das dein Problem?



  • ja, erstens das.

    und ich versteh nicht ganz, wie ich damit arbeiten kann: y' = f(x,y).

    wieso hängt die ableitung von y ab?


  • Mod

    buschimann schrieb:

    ja, erstens das.

    und ich versteh nicht ganz, wie ich damit arbeiten kann: y' = f(x,y).

    wieso hängt die ableitung von y ab?

    Das die Ableitung von y abhängt ist gerade der Trick an Differenzialgleichungen. Wenn die Ableitung nur von x abhinge wäre die Lösung nicht so schwer 😉

    Um das mal an einem Beispiel zu verdeutlichen:
    Sei y=sin(x)
    Dann ist y'=cos(x) und y''=-sin(x)=-y
    Ich hoffe, nun ist klar was damit gemeint ist.

    (Ups, ich sehe gerade, dass mein Beispiel genau deinem Problem entspricht. Sin(x) ist aber noch nicht die entgültige Lösung, da es noch andere Funktionen mit dieser Eigenschaft gibt. Außerdem willst du das Problem ja numerisch lösen.)



  • buschimann schrieb:

    ja, erstens das.

    ein weiser mann hat mal gesagt: man kann eine eindimensionale differentialgleichung zweiter ordnung als eine zweidimensionale differentialgleichung erster ordnung schreiben.

    und ich versteh nicht ganz, wie ich damit arbeiten kann: y' = f(x,y).

    wieso hängt die ableitung von y ab?

    weil sonst die lösung der differentialgleichung

    y' = f(x) 
    =>  y = Integral(f(x))
    

    wäre. y' = f(x,y) ist allgemeiner.

    so, mehr tips geb' ich mal für hausaufgaben nicht.



  • [/quote]ein weiser mann hat mal gesagt: man kann eine eindimensionale differentialgleichung zweiter ordnung als eine zweidimensionale differentialgleichung erster ordnung schreiben.[quote]

    ok, wie macht man das?
    f(x, f(x,y)) = -y ??

    das eine sinus oder cosinus funktion eine lösung dieser dgl ist, habe ich auch erkannt.
    ich muss wohl ein wenig beschränkt erscheinen, aber ich habe ein bisschen probleme mit den aufgaben, da ich noch sehr wenige kenntnisse über mechanik, DGL und ähnliches habe.



  • du hast eine dgl der form y'' = f(x,y). führe eine neue variable z = y' ein. dann ist deine nun zweidimensionale dgl

    d/dx (y,z) = ( y', z' ) = ( z, y'' ) = ( z, f(x,y) )
    

    oder, wenn du den vektor v definierst als

    v := (y,z)
    

    (*)

    d/dx(v) = g(x,v)
    

    wobei du g(x,v) aus f(x,y) berechnen kannst. das ist die form, auf die du das rk anwenden kannst.

    ich muss wohl ein wenig beschränkt erscheinen, aber ich habe ein bisschen probleme mit den aufgaben, da ich noch sehr wenige kenntnisse über mechanik, DGL und ähnliches habe.

    wenn du mathe machst, muss das so sein 😉

    ---------
    (*)
    mit diesem trick kannst du natürlich auch eine differentialgleichung 78ter ordnung in eine 78-dimensionale dgl erster ordnung umwandeln.


Anmelden zum Antworten