Runge-Kutta-Fehlberg |
13.03.2011, 12:14 | bronkowitz | Auf diesen Beitrag antworten » | ||
Runge-Kutta-Fehlberg Ich versuche die Bewegung eines bedämpften, freien Einmassenschwinger mit dem Runge-Kutta-Fehlberg-Verfahren, also mit Schrittweitensteuerung, zu ermitteln. Die DGL zeiter Ordnung ist M*x'' + D*x' + C*x = 0 und mit der Substitution x1 := x x2 := x' ergibt sich ein System erster Ordnung. Mein Problem ist, dass dies ungedämpft (D = 0) überhaupt nicht funktioniert und auch bedämpft nur schlecht. Dies liegt offenbar daran, dass in der Formel für die neue Schrittweite der Nenner zu Null wird, da dann die beiden Approximationen nach 4. und 5. Ordnung gleich sind. Habe ich da irgendwo einen Fehler gemacht? Oder ist das einfach so? Ich hoffe mein Bildanhang mit der MathCad-Berechnung ist hochgeladen. Gruß, bronkowitz |
||||
13.03.2011, 19:49 | bronkowitz | Auf diesen Beitrag antworten » | ||
tja, ohne Hirn ist man wie'n Depp...hab meinen Fehler gefunden. Ist also erledigt. Grüße, bronkowitz |
||||
13.03.2011, 19:50 | Math1986 | Auf diesen Beitrag antworten » | ||
Wäre für andere vielleicht auch interessant zu wissen |
||||
13.03.2011, 19:54 | bronkowitz | Auf diesen Beitrag antworten » | ||
OK, ich poste gleich ein Bild mit dem richtigen Algorithmus |
||||
13.03.2011, 20:24 | bronkowitz | Auf diesen Beitrag antworten » | ||
mein Fehler war anzunehmen, dass in den k(...)-Gleichungen immer nur eine Variable verändert wird und die anderen xi (im Beispiel ist das jeweils nur eine) dabei konstant bleiben. Ist aber falsch, passiert simultan und deswegen gibt es jetzt analog die Werte l(...). Hat mit der Schrittweitensteuerung auch gar nichts zu tun. Der Algorithmus ist jetzt total genau und unempfindlich und man kann mit der Schrittweite T starten, das "regelt sich selbst". Im zweiten Bild sieht man gut, wie sich die Schrittweite ändert. (Im Anhang ist der Algorithmus jetzt allgemein formuliert, d.h. es wird nicht mehr ausgenutzt, dass die erste Gleichung nur dazu diente ein System erster Ordnung zu erzeugen. f1 und f2 kann man also auch nun durch andere DGL ersetzen) Gruß, bronkowitz |
|
Verwandte Themen
Die Beliebtesten » |
|
Die Größten » |
|
Die Neuesten » |