WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Häufiges Ausführen desselben Simulationsintervalls

 

Stief
Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 10.01.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.01.2012, 17:32     Titel: Häufiges Ausführen desselben Simulationsintervalls
  Antworten mit Zitat      
Hallo,

zunächst zur Beschreibung meines Vorhabens.
Vereinfacht ausgedrückt habe ich die Aufgabe eine Regelstrecke auf einen vorgegebenen Messverlauf zu optimieren. Optimiert werden dabei diverse Reglerparameter, es sind also einige Simulationsausführung notwendig.
Ich habe bereits versucht das Modell mittels sim-Befehl in einer for-Schleife mehrmals aufzurufen was auch funktioniert. Leider wird dabei jedesmal das komplette Modell neu kompiliert, was einfach zu lange dauert.
Außerdem setze ich vor jeder Simulation die Parameter auf einen vorher berechneten SimState um die "Warmlaufphase" des Modells zu überspringen. Deshalb kann ich leider keinen Accelerator-Modus nutzen.
Hat jemand von euch noch eine andere Idee die Kompilierung zu beschleunigen? Oder kann ich mir die "Warmlaufphase" nicht sparen und sollte lieber auf den Accelerator-Modus zurückgreifen?

Vielen Dank =)
Private Nachricht senden Benutzer-Profile anzeigen


Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 11.01.2012, 09:40     Titel:
  Antworten mit Zitat      
Sofern die Parameter der n+1 then Laufs nicht von den Ergebnissen des n ten Laufs abhängen, gibt es bestimmt Möglichkeiten des paralellen Rechnens. Im Forschungsumfeld gibt es meistens diese Produkte:

http://www.mathworks.com/products/parallel-computing/
http://www.mathworks.com/products/distriben/

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Stief
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 10.01.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.01.2012, 16:36     Titel:
  Antworten mit Zitat      
Ok ich werde mir es mal anschauen.

Ich habe außerdem noch etwas andere versucht. Ich habe also einen SimState erstellt, damit ich die "Warmlaufphase" des Modells überspringen kann. Theoretisch könnte ich nun einen Reglerparameter (der sich im Workspace befindet) ändern und schauen wie das System darauf reagiert. Basierend auf dem Resultat könnte ich den Parameter dann wieder ändern und noch einmal vom gespeicherten SimState aus starten. Soweit die Idee. Jedoch bekomme ich da folgenden Fehler:

Simulink cannot load the initial SimState because the model, '...', was changed
after the SimState was saved. Run the simulation again and resave the SimState.

Kann man die Parameter nach Erstellung eines SimStates tatsächlich nicht mehr ändern, oder gibt es eine andere Lösung?
Private Nachricht senden Benutzer-Profile anzeigen
 
Stief
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 10.01.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.01.2012, 17:18     Titel:
  Antworten mit Zitat      
Kann mir niemand sagen wie ich dieses Problem umgehen kann? Es ist für mein Problem sehr wichtig, dass ich immer genau die selbe Ausgangssituation habe. Das Programm jedesmal bis dorthin zu simulieren würde zu lange dauern.
Weiß jemand wie ich die Variablen dennoch ändern kann? Vielleicht gibt es ja noch eine andere als mit dem Speichern des SimStates zu arbeiten?
Private Nachricht senden Benutzer-Profile anzeigen
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 19.01.2012, 18:06     Titel:
  Antworten mit Zitat      
Falls in der Community nix kommt - bitte den Technischen Support mittels Beispielmodell und -code kontaktieren.

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Sportfreund
Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 05.02.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.04.2013, 11:14     Titel:
  Antworten mit Zitat      
Hallo Stief,

das Thema ist zwar schon länger im Thread aber ich wollte mal nachfragen ob du mittlerweile eine Lösung gefunden hast für dein Problem?
Ich ärgere mich momentan nämlich mit genau der selben Problemläsung herum.

Gruß Christian
Private Nachricht senden Benutzer-Profile anzeigen
 
Stief
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 10.01.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.04.2013, 17:03     Titel:
  Antworten mit Zitat      
Ich habe es letztendlich über die SimState Funktion gelöst. Dabei simulierst du bis zu einem gewissen Zeitpunkt und speicherst alle Zustände in einer Variablen ab. Die Reglerparameter habe ich dann über die set_param Funktion verändert und vom vorher abgespeicherten SimState weitersimuliert.
Private Nachricht senden Benutzer-Profile anzeigen
 
Sportfreund
Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 05.02.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.04.2013, 09:07     Titel:
  Antworten mit Zitat      
Versteh ich das also richtig, dass du nach dem Abspeichern der Variablen das Modell schließen kannst und dann über eine M-File das Modell wieder mit den gewünschten Werten zum Laufen bringst?

Ich habe es bisher immer so gemacht, dass ich den simstate im finalstate speicher. Nachdem man das Modell schließt und wieder öffnet muss die Simulation blöderweise wieder neu gestartet werden.
Wäre super wenn man das mit der set-param Funktion überbrücken könnte.
Private Nachricht senden Benutzer-Profile anzeigen
 
Stief
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 10.01.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.04.2013, 10:57     Titel:
  Antworten mit Zitat      
Bei mir war das Modell während des Vorgangs dauerhaft geöffnet, ob es funktioniert wenn man es zwischendurch schließt weiß ich also nicht.
Ja genau, du speicherst den SimState in einem FinalState. Um von diesem Punkt aus weiter zu simulieren musst du vor dem nächsten sim-Befehl deinen FinalState als InitalState laden.
Private Nachricht senden Benutzer-Profile anzeigen
 
Sportfreund
Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 05.02.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.04.2013, 11:04     Titel:
  Antworten mit Zitat      
Ja ok, genauso habe ich das bisher immer in Simulink selbst gemacht. Dann muss ich mal schauen ob der meckert wenn ich das Modell zwischendurch speichere.
Danke für die schnellen Antworten
Private Nachricht senden Benutzer-Profile anzeigen
 
tm887

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.06.2016, 13:16     Titel:
  Antworten mit Zitat      
Hallo,

ich bin auf das gleiche Problem gestoßen. Leider klappt es bei mir mit dem Abspeichern des SimState nicht. Daher wollte ich fragen, ob Sie vielleicht den zugehörigen Programmcode posten können?

Besten Dank Very Happy
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.