|
|
ode45 rechnet sehr lang an Lösungsmatrix |
|
jonas10030 |
Forum-Anfänger
|
|
Beiträge: 11
|
|
|
|
Anmeldedatum: 20.10.17
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 06.04.2018, 12:23
Titel: ode45 rechnet sehr lang an Lösungsmatrix
|
|
Hallo,
ich habe ein Problem mit dem ode45 solver. Ich möchte ein DGL-System mit 10 DGL lösen. Problem ist, dass die Lösung (bis zu) mehrere Minuten dauern kann. Da ich das DGL-System für verschiedenen Startwerte (>300) oder verschiedene Faktoren lösen muss, muss ich die Rechenzeit unbedingt verringern.
Zum besseren Verständnis der Code:
Ich denke es liegt daran, dass für manche Werte in der X Matrix Zahlen in der Größenordnung 1*10^-300 rauskommen. Kann man dem ode45 Solver mit odeset o.ä. vorgeben dass er ab einer bestimmten Grenze einfach auf 0 runden soll?
Die Dokumentation bei odeset ist für mich dahingehend nicht verständlich :/
Zum Beispiel dauert die Berechnung sehr sehr lang wenn man diese werte für die Faktoren einsetzt
Dankeschön für eure Hilfe!
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 06.04.2018, 12:37
Titel:
|
|
Hallo,
mal anderen Löser versuchen, z.B. ode23s
Grüße,
Harald
|
|
|
T16 |
Forum-Century
|
|
Beiträge: 145
|
|
|
|
Anmeldedatum: 31.01.18
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 06.04.2018, 12:47
Titel:
|
|
Ich würde empfehlen die DGL in eine Funktion zu verpacken, das allein spart auf meinem Rechner bereits ca. die Hälfte der Rechenzeit ein. Die nächste Überlegung wäre dann den solver zu wechseln, evtl. reicht ein Solver niedrigerer Ordnung aus. Die Matlabhilfe kann dir dabei unter die Arme greifen: https://de.mathworks.com/help/matla.....choose-an-ode-solver.html
Ich habe in dem Beispiel ode23t genommen (aus dem einfachen Grund dass ich diesen solver in meinem aktuellen Projekt verwende), das spart sehr viel Zeit, aber schau dir lieber die Ergebnisse nochmal an und vergleiche mit ode45.
Edit: stelle grad fest dass ode23t für deine alternativen Faktoren streikt, dann muss doch der ode23s ran wie Harald gesagt hat.
|
|
|
|
|
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
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
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.
|
|