|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 25.08.2011, 14:18
Titel: Startwerte für lsqnonlin
|
 |
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
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 26.08.2011, 20:09
Titel:
|
 |
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
|
|
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 29.08.2011, 09:51
Titel:
|
 |
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
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 29.08.2011, 10:58
Titel:
|
 |
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
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|