sucht patternsearch eigentlich sofort nach "single global solution" , es ist gibt ja noch die Möglichkeit mit patternsearch nach "single local solution" zu suchen?
Oder müsste ich hierfür noch eine zusätzliche Angabe machen?
ich weiß nicht, was du da zitierst oder wo du etwas unterscheiden willst.
patternsearch verwendet eine Strategie, die es wahrscheinlicher macht, dass man ein globales Minimum findet, als wenn man einen Algorithmus aus der Optimization Toolbox verwendet. Man hat jedoch (wie bei allen anderen Solvern auch) keine Garantie, dass das globale Minimum gefunden wird.
% Laden der MAT-Files für die Streckenmodelle und Ableitungsmodelle load('modLOLIMOT_3In_CA50');
load('modLOLIMOT_3In_IMEP');
load('modLOLIMOT_3In_DPMAX');
load('modLOLIMOT_3In_HC');
load('modLOLIMOT_3In_NOX');
(OPT2_auto.mdl als Anhang bei einem anderen Beitrag!)
2 Fragen hätte ich noch:
- Gibt es vielleicht ein Abbruchkriterium für die Optimierung? Also wenn zum Beispiel patternsearch für einen Arbeitspunkt in NaN oder Inf läuft (und da nicht mehr rauskommt), so dass direkt zum nächsten Arbeitspunkt gewechselt wird?...wäre ja praktisch, da die Optimierung aller Betriebspunkte die ganze Nacht (oder noch länger) dauern kann und man ja nicht daneben sitzt.
- Hätte nochmal eine Frage zu unterschiedlichen Arbeitsspeichern und den Austausch von Variablen dazwischen!...
Wenn ich eine Funktion habe und von dort Variablen an mein Skript ('base'-Workspace) oder an andere Funktionen übergeben möchte, allerdings nicht [...]=functionname() nutzen kann (wie oben bei mir) oder nutzen möchte, welche Möglichkeit habe ich??
(Vom 'base'-Workspace Variablen in Funktionen zu überführen, geht ja mit:
.
Da ich ja keinen Namen von den Arbeitsspeichern der Funktionen kenne, kann ich damit ja nicht arbeiten, oder doch?
Wenn ja, wie müsste der Befehl aussehen, wenn ich Variablen aus meiner Funktion (z.B: OPTstell) in mein 'base'-Workspace transferieren möchte?)
zu 2.: zumindest für die Übergabe von Parametern an die Zielfunktion gibt es schöne Möglichkeiten.
http://www.mathworks.com/help/relea.....ing-extra-parameters.html
Mein bevorzugter Weg sind die anonymous functions.
Nested functions böten den Vorteil, dass du auch Informationen in den aufrufenden Workspace schreiben kannst. Du musst dir allerdings darüber im klaren sein, dass das dann in jeder Funktionsauswertung gemacht wird und nicht nur in den Endpunkten einer Iteration.
Mehr in die von dir erwähnte Richtung wäre "assignin", was ich aber vermeiden würde.
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
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.