VF_nonlinfit_autoDeriv differenziert eine benutzerdefinierte Modell-Funktion y=f(x) nach deren Parametern aipar. Sämtliche von VF_nonlinfit_autoDeriv benötigten Informationen (Modell-Funktion, Pufferspeicher usw.) werden über den Zeiger auf den in der aktuellen VF_nonlinfit-Operation verwendeten VF_NONLINFITWORKSPACE mitgeteilt.
Die folgenden Funktionen gestatten es, den Fortgang nicht-linearer Anpassungs-Operationen zu verfolgen. Sie können entweder aus der benutzerdefinierten Modell-Funktion heraus oder - bei Multithread-Anwendungen - auch aus einem zweiten Thread heraus aufgerufen werden.
VF_nonlinfit_getFOM gibt den besten bislang erzielten Anpassungstest-Wert (c2 oder, für robuste Fits, |c|) zurück. Ruft man diese Funktion auf, bevor VF_nonlinfit die Chance hatte, c2 erstmalig zu berechnen, so wird -1.0 zurückgegeben.
VF_nonlinfit_getBestValues speichert den besten bislang gefundenen Parametersatz A in dem als Argument angeforderten Vektor ABest.
VF_nonlinfit_getTestDir liefert die Test-Richtung (+1 für aufwärts, -1 für abwärts) während "Ausbruchsversuchen" aus eventuellen lokalen Optima, die andernfalls das Erreichen des globalen Optimums verhindern würden (LevelOfMethod > 3 in VF_setNonlinfitOptions spezifiziert).
VF_nonlinfit_getTestPar gibt den Index des gerade bezüglich "Ausbruchs" getesteten Parameters zurück.
VF_nonlinfit_getTestRun liefert den Index des aktuellen "Ausbruchstest"-Durchlaufes. Für jeden angepaßten Parameter wird ein Testdurchlauf durchgeführt. Die Reihenfolge, in der die Parameter geprüft werden, wird intern so festgelegt, dass die sensitivsten Parameter zuerst an die Reihe kommen.
VF_nonlinfit_stop sorgt dafür, dass VF_nonlinfit seinen aktuellen Levenberg-Marquardt- oder Downhill-Simplex-Zyklus beendet, die Ausgabe-Parameter auf den besten Stand bringt und zur aufrufenden Funktion zurückkehrt. Auf diese Weise können überlange Anpassungs-Sitzungen (insbesondere solche mit "Ausbruchs"-Versuchen) ohne Datenverluste abgebrochen werden. |