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

Optimierung Simulinkmodell selbstbauen

 

Martin1986
Forum-Century

Forum-Century


Beiträge: 121
Anmeldedatum: 20.06.11
Wohnort: ---
Version: Win 2016b Linux 2016b
     Beitrag Verfasst am: 17.11.2011, 15:46     Titel: Optimierung Simulinkmodell selbstbauen
  Antworten mit Zitat      
ich würde gern mittels eines Matlab-Skriptes die Parameter eines Simulinkmodels optimieren da ich eine menge parameter habe ist dieses sehr langsam, daher wollte ich das via parrellcomputing beschleunigen
zuerst lade ich alle Startwerte dann habe ich zu Testzwecken erstmal versucht das ganze lokal auf 2 Kernen laufen zulassen.
Code:
options=optimset(options,'UseParallel','always');
Opt.Result = fmincon(@(x) my_optim,[x1.....x50], [],[],[],[],lb,ub,[],options);

in my_optim rufe ich mit
Code:
das Simulinkmodell auf
und berechne mein Kostenfunktion
im Seriellen Betrieb geht es, aber langsam Wink
wenn ich die Options parallel aktiviere, dann kommt
???Error using ==> parallel_function at 598
Error in ==> my_optim at ....
Attempt to reference field of non-structure array
die Zeile in der das auftritt ist die Zeile in der ich sim(...) aufrufe
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 17.11.2011, 19:22     Titel:
  Antworten mit Zitat      
Hallo,

der Fehler passiert anscheinend in deiner Funktion my_optim.
Wenn du diese Funktion (oder zumindest die Zeile mit dem sim-Befehl) nicht postest, wird man dir nicht helfen können.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Martin1986
Themenstarter

Forum-Century

Forum-Century


Beiträge: 121
Anmeldedatum: 20.06.11
Wohnort: ---
Version: Win 2016b Linux 2016b
     Beitrag Verfasst am: 18.11.2011, 09:08     Titel:
  Antworten mit Zitat      
oh sry
Code:
Name='Test_Version';
SimOpt=simset('Solver', 'ode4', 'FixedStep', 1e-3);
sim(Name, [0 1200], SimOpt);

seriellel geht das so....
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 18.11.2011, 09:42     Titel:
  Antworten mit Zitat      
Hallo,

ich sehe den Grund auf Anhieb auch nicht.
Kannst du ein kleines Beispiel komplett zur Verfügung stellen (muss ja nicht mit deinem Simulink-Modell sein), anhanddessen sich das Problem reproduzieren lässt?

Danke,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Martin1986
Themenstarter

Forum-Century

Forum-Century


Beiträge: 121
Anmeldedatum: 20.06.11
Wohnort: ---
Version: Win 2016b Linux 2016b
     Beitrag Verfasst am: 18.11.2011, 11:04     Titel:
  Antworten mit Zitat      
Also hier mal ein stark vereinfachtes Beispiel ich befürchte das es an den globalen Variablen liegt, gibt es dafür noch einen bessere Übergabemethode?

Test_Version.mdl
 Beschreibung:

Download
 Dateiname:  Test_Version.mdl
 Dateigröße:  25.05 KB
 Heruntergeladen:  450 mal
run.m
 Beschreibung:
einfach ausführen
braucht die parrallel Toolbox ;)

Download
 Dateiname:  run.m
 Dateigröße:  458 Bytes
 Heruntergeladen:  495 mal
my_optim.m
 Beschreibung:

Download
 Dateiname:  my_optim.m
 Dateigröße:  532 Bytes
 Heruntergeladen:  460 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
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 - 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.