|
|
Zeitgleiche Simulation in Simulink/Matlab |
|
GoM08 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 02.07.2009, 11:20
Titel: Zeitgleiche Simulation in Simulink/Matlab
|
|
Hallo,
ich stehe bei meiner Studienarbeit vor folgendem Problem: Ich möchte in Simulink während einer Simulation konstante Parameter ändern. Dies möchte ich über Matlab tun und zwar am besten folgend: Matlab soll eine Iterationsschleife durchführen und dabei die parameter berechnen. Anschließend sollen diese Parameter in den Workspace um von dort von Simulink aufgegriffen zu werden. Simulink soll dann die Simulation an die neuen Parameter anpassen. Da Matlab mehrere Iterationsschleifen durchgehen soll, ist somit eine simultane Simulation von Vorteilen. Simulink soll dann quasi pro Iterationsschleife von Matlab einmal durchlaufen. Bei der 2. Iterationsschleife von Matlab (dann mit neuen Parametern) soll Simulink dann ebenfalls seinen 2. Durchgang machen, usw.
Ist dies möglich?
Vielen Dank im Voraus für eure Antworten
|
|
|
|
|
Idefix_1024 |
Forum-Century
|
|
Beiträge: 230
|
|
|
|
Anmeldedatum: 16.10.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 02.07.2009, 13:20
Titel:
|
|
man muss die Simulation nur in einem m-File starten
zunächst legt man alle Parameter an die konstant bleiben
dann folgt eine Schleife mit while oder for, in der der zu ändernde Parameter mit dem Befehl
in das Simulink-Modell geschrieben wird
zum Schluss der Schleife muss man die Simulation mit sim('NameDesMDL-Files') starten
alle ergebnisse kann man am Einfachsten in den Workspace befördern, indem man ein Scope verwendet und den Haken 'save data to workspace' anhakt
dann muss man die daten nur noch sichern (am besten in ein mat. file) und man kann einen neuen Durchlauf starten
ich hoffe das ist so halbwegs nachvollziehbar beschrieben...
das m-File steuert die Simulation komplett... das Modell muss aber geöffnet sein damit es funktioniert
versuchs mal und melde dich wenn was nicht klappt
|
|
|
GoM08 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 02.07.2009, 14:39
Titel: Zeitgleiche Simulation in Simulink/Matlab
|
|
Hey,
vielen Dank erst einmal für die schnelle Antwort. Allerdings glaube ich nicht, dass wir vom gleichen Thema reden .
Ich möchte [/b]während[/b] der Simulation einen Parameter ändern. Und dies am besten noch von Matlab (einer m-file) aus.
Beispiel: Gain ist 10. Simulation [0 100]. M-File ist angewiesen, bei t = 20 den Parameter Gain von 10 auf 50 zu erhöhen.
Ist dies möglich?
|
|
|
Idefix_1024 |
Forum-Century
|
|
Beiträge: 230
|
|
|
|
Anmeldedatum: 16.10.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 02.07.2009, 14:58
Titel:
|
|
will man während einer laufenden simulation zu einem best. Zeitpunkt ein Signal ändern, so bietet sich der Einsatz des Step-Blocks als Source-Block an.
Allerdings muss man Zeitpunkt und Sprunghöhe auch zu Beginn der Simulation festlegen.
Direkt aus dem m-File einen Wert in der laufenden Simulation ändern stelle ich mir ziemlich unmöglich vor...
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 02.07.2009, 16:03
Titel:
|
|
Wenn die Sprunghöhe nicht vorab bekannt ist, könnte man die Simulation von [0 20] laufen lassen, den Parameter ändern, und dann die Simulation über [20 100] laufen lassen (mit dem Endzustand der ersten Simulation als Anfangszustand).
Und ich darf korrigieren: set_param greift auch während einer laufenden Simulation - ich habe es gerade probiert.
|
|
|
Idefix_1024 |
Forum-Century
|
|
Beiträge: 230
|
|
|
|
Anmeldedatum: 16.10.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 02.07.2009, 19:22
Titel:
|
|
Interessant...
und zu welchem Zeitpunkt wird dann die Änderung des Parameters wirksam?
kann man die aktuelle Simulationszeit denn im m-File abfragen?
werde ich mal ausprobieren
danke für den Hinweis!
|
|
|
|
|
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.
|
|