ich experimentiere nun schon seit einigen Tagen in Matlab, um folgendes vektorwertige Differentialgleichungssystem (nachfolgend kurz DGLS) mit zu lösen:
Ich weiß, dass man das DGLS in ein DGLS erster Ordnung umwandeln muss. Dies erscheint mir hier auch sonderbar einfach:
Wie bekomme ich nun allerdings dieses vektorwertige DGLS erster Ordnung mit Matlab gelöst? Bislang habe ich folgenden Code geschrieben, der aber definitiv nicht in Ordnung ist (Matlab rechnet > 5 Minuten):
Der von Matlab übergebene Parameter x hat die Struktur (Spalten) , , , , , , , , , , , , , , , , , . Aus diesem Grunde habe ich immer drei Spalten x,y,z zu einem Vektor zusammengefasst (hx0 für r0, hx1 für r1, hx2 für r2).
Ich scheine allerdings Probleme dabei zu haben, den Output-Vektor für ode45, xr, zusammenzusetzen und vermute dort meinen Fehler.
Über jede Hilfe würde ich mich freuen.
Beste Grüße,
saint
P.S.: In Simulink konnte ich dieses DGLS bereits lösen. Ich wollte eigentlich mit der Lösung über ein Matlab-Skript erreichen, dass man nicht so viele Verdrahtungen in Simulink durchführen muss.
vielen Dank für deine rasche Antwort. Ich kann leider nicht sagen, ob die berechnete Lösung stimmt oder nicht, denn ich habe die Berechnung nach 10 Minuten abgebrochen und habe somit keine Ergebnisse (in Simulink dauerte die Berechnung nicht einmal eine Sekunde).
Ich habe den Code nun wie folgt geändert (entsprechend deines Hinweises):
gib doch bitte die Anfangsbedingungen an, damit man es hier selbst ausprobieren kann.
Wo ist der Exponent 3 aus deinen Gleichungen in deiner Funktion abgeblieben?
Hast du in Simulink etwas an den Einstellungen geändert?
Hast du mal eine kurze Simulation gemacht und die Ergebnisse verglichen?
Im übrigen könnte man den Code sicher effizienter gestalten:
abermals vielen Dank für deine Hilfe. In der Tat hatte ich den Exponenten vollkommen übersehen - und das war auch die Fehlerursache! Nachdem die Funktion f(..) nachkorrigiert ist, funktioniert nun alles wie gewünscht und ich bekomme korrekte Ergebnisse!
Ich werde den Code noch kompakter schreiben; zum ersten Ausprobieren wollte ich allerdings alle Dinge ausführlich schreiben, so dass ich im Nachhinein noch alles kommentieren kann. Bislang war ich noch nicht mit der Lösung von DGLs in Matlab in Berührung gekommen.
Für deine Hilfe danke ich dir noch einmal recht herzlich und wünsch dir alles Gute!
saint
Einstellungen und Berechtigungen
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.