Beschreibung | Die nicht-linearen Datenanpassungs-Routinen wie VF_nonlinfit bieten dem Anwender eine Vielzahl verschiedener Optionen, die in der Struktur VF_NONLINFITOPTIONS (VD_NONLINFITOPTIONS und VE_NONLINFITOPTIONS für die höheren Datentypen) zusammengefaßt sind. Diese Optionen werden durch die Funktion V_setNonlinfitOptions gesetzt. Um die derzeit eingestellten Optionen zu lesen, rufe man V_getNonlinfitOptions. Um ggf. zu den "Fabrik-Einstellungen" zurückzukehren, rufe man V_setNonlinfitDefaultOptions.
Die mit dieser Funktion gesetzten Optionen gelten für alle Datenanpassungs-Funktionen derselben Genauigkeits-Stufe. Das heißt, dass beispielsweise VD_setNonlinfitOptions die für VD_nonlinfit, VD_multiNonlinfit, MD_nonlinfit, MD_multiNonlinfit und deren Geschwister mit Einzelpunkt-Wichtung ("wW"-Versionen) setzt.
Diese Funktion ist nicht geeignet, um verschiedene Sätze von Optionen an verschiedene Aufrufe von nonlinfit-Funktionen zu übergeben, die von unterschiedlichen Arbeits-Threads aus getätigt werden. Stattdessen verwende man die vollständige Syntax der nonlinfit-Funktionen, um jeder Instanz ihren Eigenen Optionen-Satz als Argument zu übergeben. |
Beispiel C/C++ | VF_NONLINFITOPTIONS Opt;
VF_getNonlinfitDefaultOptions( &Opt ); // Ausgangspunkt: Fabrikeinstellungen
Opt.FigureOfMerit = 0; // kleinste Fehlerquadrate wählen
Opt.AbsTolChi = 1.e-6;
Opt.FracTolChi = 1.e-3; // schneller, aber nicht sehr genauer Fit
Opt.LevelOfMethod = 1; // nur Levenberg-Marquardt
VF_setNonlinfitOptions( &Opt ); |
Beispiel Pascal/Delphi | Opt: VD_NONLINFITOPTIONS;
VD_getNonlinfitDefaultOptions(Opt );
Opt.FigureOfMerit := 1; (* "robuster Fit: kleinste Absolut-Fehler *)
Opt.AbsTolChi := 1.e-10;
Opt.FracTolChi := 1.e-8; (* langsamerer, aber genauerer Fit *)
Opt.LevelOfMethod := 3; (* abwechselnde Levenberg-Marquardt- und Downhill-Simplex-Durchgänge *)
VD_setNonlinfitOptions(Opt ); |
|