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

Wie lsqnonlin (auf elegante Art) zum abbrechen bewegen

 

BigM

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.12.2009, 11:20     Titel: Wie lsqnonlin (auf elegante Art) zum abbrechen bewegen
  Antworten mit Zitat      
Hi und Servus.

Ich habe folgende Frage:
Ich habe ein Optimierungsproblem und nutze dafür lsqnonlin. Zu Steuerung habe ich ein GUI entworfen.
Nun fällt einem wärend der Optimierung aber manchmal auf, dass man noch was vergessen hat oder wie auch immer.
Um die Optimierung abzubrechen, kann man ja CTRL+C drücken und die Ausführung von lsqnonlin wird abgebrochen.
Nun möchte ich gerne einen Button in mein GUI einbauen, der dieselbe oder eine ähnlich Funktionalität hat. Also draufklicken und lsqnonlin hört (sofort) auf zu optimieren.

-->> Wie kann ich das realisieren?
Den an lsqnonlin übergebenen Fehlervector = 0 zu setzen funktioniert nicht, weil lsqnonlin seinen optimierungszyklus erst noch zu Ende macht, bevor er meint ein Optimum gefunden zu haben.
Keinen Fehlervektor zurückzugeben erzeugt einen error, was zwar immerhin die Ausführung von lsqnonlin stopt aber keine "schöne" Art ist. Ich würde das gerne ohne Error haben.

Würde mich echt riesig freuen, wenn da jemand eine Lösung wüsste.

Danke und Gruß
BigM


Harald
Forum-Meister

Forum-Meister


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

ich würde die OutputFcn verwenden, siehe
Code:
http://www.mathworks.com/access/helpdesk/help/toolbox/optim/ug/f19175.html#f11022


In der kannst du den Status deines Buttons abfragen und dementsprechend stop setzen.

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

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.12.2009, 12:53     Titel:
  Antworten mit Zitat      
Hallo Harald.

Das ist schon mal nicht schlecht aber nicht 100%ig was ich suche. Denn auf diese Art und Weise stoppt der Optimierer ja erst nach einer Iteration, ich brauche aber eine Möglichkeit, wo er sofort abbricht, egal was er grade tut.

Trotzdem danke ich dir schon mal für den Hinweis, der ist auch schon praktisch. Du hast nicht zufälligerweise noch eine Idee, wie man ihn zum sofortigen Abbruch bewegen kann?

Danke und Grüß
BigM
 
Harald
Forum-Meister

Forum-Meister


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

das stimmt. Eine bessere Möglichkeit fällt mir leider nicht ein.
Dauert eine Iteration denn sooo lange, dass das auffällt?

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

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.12.2009, 13:48     Titel:
  Antworten mit Zitat      
Eine Iteration dauert zwischen 10 Sekunden und 7 Minuten.
Dazu kommt noch, dass, wenn sich mal wieder ein "falscher" Parameter eingeschlichen hat, dass das zu Problemen führen kann... Und wenn ich das sehe, dann will ich halt sofort abbrechen können.

Na, wie dem auch sei - ich danke dir herzlichst und werde das mit der OutputFcn wohl einbauen, dass ist dann wenigstens ein einigermaßen sanftes Abbrechen, für nicht so eilige Fälle. Und für die eiligen Fälle muss man dann wohl doch die harte Tour wählen.

Danke und Gruß
BigM
 
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.