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

Startwerte für lsqnonlin

 

Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.08.2011, 14:18     Titel: Startwerte für lsqnonlin
  Antworten mit Zitat      
Hallo,

ich habe für Bestimmung einiger Unbekannten 'lsqnonlin' eingebettet. Habe meine x und y Werte, sowie die Zielfunktion festgelegt. Ergebnisse liegen soweit vor.

Wenn ich aber die Startwerte, TolX, TolFun usw. variiere, ändern sich die Unbekannten.

--> Wie lege ich die besten Startwerte fest? Wie stark beeinflussen diese mein Ergebnis?

--> Welche Rolle spielen TolX, TolFun, MaxFunIter usw.? Habt ihr ausführliche Literatur zu diesen Punkten?

Danke im vorraus!!


Harald
Forum-Meister

Forum-Meister


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

die Dokumentation liefern an sich alle benötigten Informationen dazu.

Startwerte sollten sinnvolle Schätzwerte sein. lsqnonlin versucht dann, ein lokales Minimum in der Nähe zu finden.
Wenn man keine Startwerte benennen kann, kann man über mehrere Startwerte iterieren und die Lösungen vergleichen (je niedriger die Summe der Residuen, desto besser) oder Funktionen aus der Global Optimization Toolbox verwenden, z.B. ga oder patternsearch.

TolX und TolFun sollten eher klein gewählt werden, es kann zumindest nichts schaden.
Wenn lsqnonlin wegen eines Kriteriums wie max. Anzahl von Funktionsauswertungen abbricht (siehe auch Rückgabeparameter EXITFLAG), kann es zu einer Lösung führen, den entsprechenden Parameter zu erhöhen

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



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.08.2011, 09:51     Titel:
  Antworten mit Zitat      
Hallo,

exitflag liefert mir eine 1 (returns a value exitflag that describes the exit condition) Was hat das mit deiner Aussage zu tun?
Output liefert, das ich 3 Iterationen habe, ist es nicht sinnvoll diese zu erhöhen?

Wenn ich zwischen medium- und large-scale wechsel, wechsel ich dann nur mein algorithmus? also zwischen levenberg und trust region?

patternsearch habe ich leider nicht...

DANKE!
 
Harald
Forum-Meister

Forum-Meister


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

EXITFLAG gibt an, warum der Algorithmus hier stoppt. Wenn du in der Doku runterscrollst, siehst du:

1 Function converged to a solution x

Das ist also an sich gut, aber eben nur ein lokales Minimum in der Nähe des Startwerts, siehe meine erste Antwort.
Ein Erhöhen der Anzahl Iterationen wäre in erster Linie sinnvoll, wenn du das bekommst:

0 Number of iterations exceeded options.MaxIter or number of function evaluations exceeded options.FunEvals

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.