Wie Code für die Marquardt -Algorithmus schreiben

Der Levenberg- Marquardt -Algorithmus ist ein Verfahren, in Informatik und Mathematik verwendet, um die lokale Minimum einer Funktion zu finden , ausgedrückt als Summe der kleinsten Quadrate von nichtlinearen Funktionen . Sie wird häufig verwendet, um die lineare Regression Probleme zu lösen und das Minimum der Funktionen, die als eine Summe der kleinsten Quadrate sowie einen Optimierer für Funktionen, die nicht in der kleinsten Quadrate zerlegt werden können, dargestellt werden können, zu finden. Der Algorithmus ist iterativ , was bedeutet, dass es immer wieder wiederholt , bis ein Stoppbedingung erfüllt ist , die getroffen werden, um die optimale Lösung zu sein. Sie können Code für die Levenberg- Marquardt-Algorithmus unter Verwendung von Funktionen in Matlab schreiben, oder durch die Verwendung von Funktionen in Lösungen in Fortran und C + + geschrieben ausgesetzt . Was Sie brauchen
MatLab
C + +-Editor
Computer-

Mehr zeigen Anleitung
1

Starten Sie den " Matlab " Anwendung . " Matlab " oder Matrix Laboratory, ist ein mathematischer Software -Anwendung, die besonders nützlich für die Lösung der kleinsten Quadrate Gleichungen . Es dient als eine Programmiersprache für mathematische Anwendungen und enthält Funktionen, die speziell für die Levenberg- Marquardt-Algorithmus bestimmt sind.
2

schreiben Code, um die lsqnonlin Funktion in " Matlab " verwenden auf nichtlineare Probleme zu lösen kleinsten Quadrate unter Verwendung des Levenberg- Marquardt -Algorithmus. Laut der Dokumentation von The MathWorks , ist die Syntax :
x = lsqnonlin (fun , x0 )

Die Funktion startet am Punkt " x0 " und findet ein Minimum der Summe der Quadrate der Funktionen beschrieben in " Spaß." um diese Funktion speziell für die Levenberg- Marquardt-Algorithmus verwenden, verwenden Sie die Option " ScaleProblem " in der Funktionsdefinition .
3

schreiben Code, um die Funktion nutzen fsolve " ; MatLab " zu lösen nichtlinearer Gleichungssysteme mit der Verwendung des Levenberg- Marquardt -Algorithmus. Laut der Dokumentation von The MathWorks , ist die Syntax :

x = fsolve (fun , x0 ) = x
fsolve (fun , x0 , Optionen)

Die Funktion findet eine Wurzel ( Null) ein System von nichtlinearen Gleichungen , indem man an einem Punkt , x0, iterativ und versuchen , die Probleme zu lösen in der Funktion " Spaß." um diese Funktion speziell für die Levenberg- Marquardt -Algorithmus verwenden , verwenden Sie die Option ScaleProblem in der Funktionsdefinition
4

starten . Ihre C + +-Editor und verwenden Sie es , Code zu schreiben , um die Levmar Funktionen verwenden, um lineare und nichtlineare Probleme mit dem Levenberg- Marquardt-Algorithmus zu lösen. Die Llevmar Funktionen sind unter der GNU General Public License frei verfügbar und wurden entwickelt, mit " Matlab " kompatibel zu sein und mehreren gängigen Programmiersprachen . Die Levmar Funktionen sind in C + + geschrieben und setzen Funktionen und Code für mit und ohne Neben Optimierung. Sie können den Code ändern, um Ihre Bedürfnisse anzupassen und zu personalisieren , um die Implementierung der Levenberg- Marquardt-Algorithmus passt.