|
|
Simulink innerhalb Matlabschleife starten |
|
Bob123 |

Forum-Newbie
|
 |
Beiträge: 7
|
 |
|
 |
Anmeldedatum: 19.05.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 03.07.2014, 14:17
Titel: Simulink innerhalb Matlabschleife starten
|
 |
|
 |
|
Hallo,
ich habe eine Problem und bekomme es trotz verschiedener Ansätze aus dem Forum nicht gelöst:
Ich habe eine Simulink-Modell, was mit fester Schrittweite simuliert und Zeitabhängig arbeitet.
Über Matlab starte ich ein normales m-file mit einer for-schleife. Innerhalb der Schleife möchte ich das Simulinkmodell aufrufen, Parameter übergeben 1ms rechen lassen, Ergebnisse auslesen und die Simulation anhalten. For-Schleife weiter laufen lassen und Ergebnisse weiter nutzen...
In den weiteren Schleifendurchläufen soll nun das das Simulink immer weiter fortgesetzt werden (nicht von vorne beginnen, sondern da wo es im Durchlauf davor angehalten hat)
Der Befehle:
kann Simulink starten, pausieren und fortsetzen, aber mir fehlt der Zeitbezug zu der 1ms.
Und jedes Ergebnis aus dem Simulinkmodell im Workspace abzuspeichern und zu jedem start wieder aufzurufen ist meiner Meinung nach nicht geeignet, da sehr viele Rechnungen statt finden.
Ich würde mich sehr über eine Antwort freuen.
|
|
|
|
|
SkyRazor |

Forum-Century
|
 |
Beiträge: 106
|
 |
|
 |
Anmeldedatum: 07.05.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 04.07.2014, 10:44
Titel:
|
 |
Hallo,
neben der set_param() Befehlen, ich schlage vor, die Timer Callback Functions zu verwenden.
Und für die Dateien, unter Socpe->save data Option sind sie jederzeit im Workspace verfügbar, du sollst dann nur am Anfang jeder schleife die Parameters ändern.
Grüße
|
|
|
Bob123 |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 7
|
 |
|
 |
Anmeldedatum: 19.05.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 04.07.2014, 12:36
Titel:
|
 |
Danke für die Antwort.
Was genau meins du mit "Timer Callback Functions" verwenden?
Grüße
|
|
|
SkyRazor |

Forum-Century
|
 |
Beiträge: 106
|
 |
|
 |
Anmeldedatum: 07.05.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 04.07.2014, 12:43
Titel:
|
 |
|
|
Bob123 |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 7
|
 |
|
 |
Anmeldedatum: 19.05.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 07.07.2014, 11:15
Titel:
|
 |
Danke für den Tip.
Das hat mich zwar weitergebracht, aber löst mein Problem noch nicht ganz. Zumindest erkenn ich es nicht.
Die Timerfunktion führt periodisch Funktionen aus. Ich benötige eher einen Countdown. Im folgen ist mein Programmablauf noch einmal grob dargestellt:
%% t=0;
set_param('model','SimulationCommand','start')
%%t=10^-6s
set_param('modell','SimulationCommand','pause')
%%% mit Daten rechen, neue holen
%%% alles fertig, nächster Zeitschritt:
%%t=10^-6s
set_param('model','SimulationCommand','continue')
%%t=2*10^-6s
set_param('modell','SimulationCommand','pause')
...
Da bei den Zwischenrechnungen die Zeit nicht eingreifen soll existiert auch keine Periode.
Auf welcher Grundlage beruht der Timer in Matlab? Die hilfe sagt:
"The timer object is subject to the limitations of your hardware"
Meine CPU besteht läuft mit 2*2.2 GHz. Das sollte doch eigentlich reichen?
Danke für jede weitere Antwort
Grüße
|
|
|
Bob123 |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 7
|
 |
|
 |
Anmeldedatum: 19.05.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 07.07.2014, 12:19
Titel:
|
 |
Meine letzte Frage hat sich geklärt, da mir Matlab soeben gesagt hat, dass nur Perioden bis t=0.001s zulässig sind.
Gibt es da eine Alternative?
|
|
|
|
|
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 - 2025
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.
|
|