|
|
Solver und Step Size wählen |
|
Gast |
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 30.01.2012, 16:09
Titel: Solver und Step Size wählen
|
|
|
|
|
Hallo,
ich habe eine Frage bezüglich des Simulink Solvers.
Mein Model generiert Zahlen (sollen physiologische Parameter darstellen), welche über einen event listener in GUIDE dargestellt werden.
Einige Zahlen werden bezüglich ihres Anstieges untersucht (Differenz zwischen Minima / Differenz zwischen den zugehörigen Clock-Zeiten)
Ohne den event listener läuft alles sehr schnell, doch ist dieser gesetzt, so verlangsamt sich die Simulation, was eine Veränderung des errechneten Anstieges zur Folge hat.
Je nach Solver und Step Size sind die Unterschiede von weniger bis hin zu sehr signifikant.
Leider kenne ich mich überhaupt nicht mit den Solvern etc. aus und finde mich selbst mit der Matlab Hilfe nicht zurecht.
Deshalb wollte ich einmal fragen, ob für mein Problem bestimmte Einstellungen zu empfehlen sind?
Im Moment ist variable-step mit dem ode45 -Algorithmus gewählt.
Ich tendiere zu einer größeren Schrittweite mit fixed-step, weil dadurch der errechnete Anstieg deutlich geringer und somit eigentlich auch "realistischer" ist.
(In der späteren Praxis werden die Daten über ein ZigBee Modul empfangen, statt simuliert)
Vielen Dank schon einmal im voraus!!
Gruß,
franzi
Edit by Martin: Keine Doppelpostings. Danke!
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 30.01.2012, 23:38
Titel:
|
|
Hallo,
ich habe den Eindruck, dass du die Zeitunterschiede aus der realen Zeit bildest. Wäre es nicht sinnvoller, dafür die Simulationszeit zu nehmen?
Generell sollte ein Löser mit variabler Schrittweite (bei entsprechend eingestellter Toleranz) bessere Ergebnisse liefern als ein Löser mit fester Schrittweite, da der Simulationsfehler kontrolliert wird. Löser mit fester Schrittweite werden in erster Linie eingesetzt, wenn (echtzeitfähiger) Code erzeugt werden soll.
Einen Vergleich der Löser mit variabler Schrittweite findest du unter:
Grüße,
Harald
|
|
|
Gast |
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 31.01.2012, 12:08
Titel:
|
|
Hallo,
für die Berechnung der Zeitunterscheide verwende ich die Clock-Zeit.
Das System läuft insgesamt sehr langsam.
Zwischen den einzelnen Solvern selbst, konnte ich keine Unterschiede feststellen. Habe mich also vorerst für den Standard ode45 - Algorithmus entschieden.
Wenn ich das ganze später in der Realität verwendet werden möchte, also die Daten von einem Sensor, der die Parameter alle 5 Sekunden abfasst, an Simulink gesendet werden, müsste ich dann einen diskreten Solver verwenden (da es sich ja dann um digitale Werte handelt, also zeit- und wertdiskret)?
|
|
|
|
|
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.
|
|