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

exitflag und output in Datei/Matrix in Workspace

 

jasicha
Forum-Anfänger

Forum-Anfänger


Beiträge: 35
Anmeldedatum: 22.10.12
Wohnort: ---
Version: 2014a
     Beitrag Verfasst am: 06.12.2012, 14:24     Titel: exitflag und output in Datei/Matrix in Workspace
  Antworten mit Zitat      
Hallo,
ich würde gerne die exitflag und den output meiner Optimierungen in einer Matrix abspeichern.

Habt ihr eine Idee wie ich das hinbekommen?

Die optimierung starte ich ja folgendermaßen.
Code:
[x, exitflag, output]=fmincon(....),


Ich würde aber gerne das ich nach der Optimierung in einer Matrix die Gründe für den Optimierungsabbruch stehen habe.

Außerdem wäre es schön zu wissen ob er das Minimum gefunden hat oder nicht. Also sowas wie "No feasible solution found" oder "Local minimum possible, constraints satisfied" sollte auch in irgendeinerweise den einzelnen Optimierungspunkten zugeordent werden können.

Ich weiß leider nicht genau wie ich das anstelle... vllt. wisst ihr da mehr.

Besten dank schonmal,
Private Nachricht senden Benutzer-Profile anzeigen


Mmmartina
Forum-Meister

Forum-Meister


Beiträge: 745
Anmeldedatum: 30.10.12
Wohnort: hier
Version: R2020a
     Beitrag Verfasst am: 06.12.2012, 16:04     Titel:
  Antworten mit Zitat      
Matrix:
Code:

Matrix=[];
[x, exitflag, output]=fmincon(....),
Matrix(end+1) = [exitflag,{output}];
 


Minimum: Was wird genau zurückgegeben? Kannst du da mal'n Beispiel bringen?
_________________

LG
Martina

"Wenn wir bedenken, daß wir alle verrückt sind, ist das Leben erklärt." (Mark Twain))
Private Nachricht senden Benutzer-Profile anzeigen
 
jasicha
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 35
Anmeldedatum: 22.10.12
Wohnort: ---
Version: 2014a
     Beitrag Verfasst am: 06.12.2012, 16:12     Titel:
  Antworten mit Zitat      
Top, das mit dem exitflag hab läuft. Ich hab es allerdings spaltenweise gemacht, das ist aber egal.

Komisch ist nur das bei mir als exitflag keine ganzzahligen werte wie in der documentation angegeben zurückgegeben wird sondern "1,83618524975338e-05" damit kann ich leider wenig anfangen, oder gilt das als Null??

Außerdem weiß ich nicht wie ich verschiedene Arten von output erreiche...

Ich bekomme einen output, wenn es folgendermaßen aussieht:

Code:
[x, exitflag, output.iterations]=fmincon(...)


Wie bekomme ich denn mehr als eine outputvariante??

Gruß,
Private Nachricht senden Benutzer-Profile anzeigen
 
dmjr
Forum-Century

Forum-Century


Beiträge: 199
Anmeldedatum: 02.10.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.12.2012, 16:23     Titel:
  Antworten mit Zitat      
[x,fval,exitflag,output]=fmincon(...)

Dann passt es auch mit den Rückgabewerten.

Anschließend kannst du via
output.iterations
usw. die ausgaben zugreifen.
Private Nachricht senden Benutzer-Profile anzeigen
 
Mmmartina
Forum-Meister

Forum-Meister


Beiträge: 745
Anmeldedatum: 30.10.12
Wohnort: hier
Version: R2020a
     Beitrag Verfasst am: 06.12.2012, 16:24     Titel:
  Antworten mit Zitat      
Das exitflag ist an dritter stelle der Ausgabe, zumindest bei Matlab2010:

[X,FVAL,EXITFLAG,OUTPUT] = FMINCON(FUN,X0,...) returns a structure
OUTPUT with information such as total number of iterations, and final
objective function value. See the documentation for a complete list.

Also müsste dein Aufruf wie folgt aussehen, wenn du FVAL nicht brauchst:
Code:

[X,~,exitflag,output] = FMINCON(...)
 

_________________

LG
Martina

"Wenn wir bedenken, daß wir alle verrückt sind, ist das Leben erklärt." (Mark Twain))
Private Nachricht senden Benutzer-Profile anzeigen
 
jasicha
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 35
Anmeldedatum: 22.10.12
Wohnort: ---
Version: 2014a
     Beitrag Verfasst am: 06.12.2012, 16:30     Titel:
  Antworten mit Zitat      
Besten dank an euch, 'fval' brauch ich nicht. Mir war die Art des Aufrufes der Outputvarianten nicht bewusst.

Ich teste und berichte Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
Mmmartina
Forum-Meister

Forum-Meister


Beiträge: 745
Anmeldedatum: 30.10.12
Wohnort: hier
Version: R2020a
     Beitrag Verfasst am: 06.12.2012, 17:01     Titel:
  Antworten mit Zitat      
jasicha hat Folgendes geschrieben:
Besten dank an euch, 'fval' brauch ich nicht. Mir war die Art des Aufrufes der Outputvarianten nicht bewusst.

Das du das nicht brauchst, ist klar, aber Matlab gibt die Sachen stoisch in der oben angegebenen Reihenfolge zurück.
D.h. du musst schauen, welche Stelle du dann nutzt.

Siehe auch meine letzte Antwort.
_________________

LG
Martina

"Wenn wir bedenken, daß wir alle verrückt sind, ist das Leben erklärt." (Mark Twain))
Private Nachricht senden Benutzer-Profile anzeigen
 
jasicha
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 35
Anmeldedatum: 22.10.12
Wohnort: ---
Version: 2014a
     Beitrag Verfasst am: 06.12.2012, 18:14     Titel:
  Antworten mit Zitat      
ja ich hab es, wie du geschrieben hast mit '~' geschrieben und so wurden mir die richtigen exitflags ausgegeben. Auch das mit den outputs klappt. Allerdings weiß ich keine Möglichkeit auszugeben ob das minimum unter Einhaltung der constraint gefunde wurde.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 06.12.2012, 18:20     Titel:
  Antworten mit Zitat      
Hallo,

die Art der Ausgabe kannst du mit optimset steuern, indem du 'Display' anpasst.

Grüße,
Harald
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 - 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.