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

Optim. Toolbox: nichtlinearer Datafit via lsqnonlin

 

salea333
Forum-Newbie

Forum-Newbie


Beiträge: 1
Anmeldedatum: 23.05.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.05.2014, 12:48     Titel: Optim. Toolbox: nichtlinearer Datafit via lsqnonlin
  Antworten mit Zitat      
Hallo Leute,

um zu testen wie gut meine nicht lineare Modellfunktion F(x)=[f1(x) ... fk(x)] mit k=4*n und der Solver funktionieren, habe ich mir Testwerte xt € R^m, m=3*n+10, und damit Testmesswerte m(i), i=1..4*n, z.B. n=1000, mit einer Standardabweichung von 30e-9 verrauscht, generiert.
Die Testmesswerte übergebe ich via [x]=lsqnonlin(@(x)Modellfunktion,Startwert, ...] an den Solver.
Nach abgeschlossener Optimierung vergleiche ich xt und x indem ich die vom Solver gefundene Lösung x von den Testwerten xt abziehe und mir wieder die Standardabweichung dieser Differenz ansehe. Trotz der hohen Datenanzahl n=1000 streut die Differenz mit sigma=3e-7, also um den Faktor 10 stärker wie der Dateninput. Die Abbruchbedingungen von lsqnonlin waren immer eine Schrittweitenunterschreitung der Funktions- bzw. x-Werte. Daher habe ich versucht via Verkleinerung von TolX und TolFun bessere Ergebnisse zu erhalten. Selbst bei TolX bzw. TolFun-Werten von 1e-30 gelingt dies aber nicht (der Solver lief nur ewig). Da ein Kollege unter Phyton mit sciPy bei identischer Modellfunktion eine Standardabweichung der (xt-x)-Werte von 30e-9 (wie zu erwarten) erhält, komme ich zu dem Schluß, das möglicherweise der numerische Gradient des trust-region-Algorithmus (der levenberg-marqardt war noch schlechter) nicht sonderlich gut ist. Daher meine Fragen:
a) Welcher ableitungsfrei arbeitende Solver löst mir mein nicht lineares vektorielles Data-Fit-Problem unter Matlab?
b) Welchem Matlab-Solver kann ich die Ableitung als Funktion übergeben, so dass er diese nicht numerisch annähern braucht? Hier auch: benötigt der trust-region-Alg. nur die Jacobi- oder auch die Hessematrix?
c) Wer hat diesbezügliche Erfahrungen mit der optiToolbox gemacht?
d) Gibt es anderweitige Tipps?

Herzliche Grüße unbekannter Weise an alle

Salea
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 - 2024 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.