Hoe te schrijven code voor de Marquardt algoritme

Het Levenberg - Marquardt algoritme is een methode die wordt gebruikt in de informatica en wiskunde aan de lokale minimum van een functie te vinden , uitgedrukt als een som van de kleinste kwadraten van niet-lineaire functies . Het wordt vaak gebruikt om lineaire regressie problemen en de minimale functies die kan worden weergegeven als een som van de kleinste kwadraten , en een optimizer voor functies die niet kunnen worden ontleed in ten minste pleinen . Het algoritme iteratief , wat betekent dat het blijft herhalen totdat stoppen voorwaarde is voldaan , dat wordt beschouwd de optimale oplossing . U kunt code schrijven voor de Levenberg - Marquardt algoritme met behulp van functies in Matlab , of met behulp van functies blootgesteld in oplossingen geschreven in Fortran en C + + . Wat je nodig hebt
MatLab
C + + editor
Computer

Toon meer instructies
1

Start de " MatLab " toepassing . " MatLab , " of Matrix Laboratory, is een wiskundige software applicatie die vooral nuttig voor het oplossen van de kleinste kwadraten vergelijkingen . Het dient als een programmeertaal voor wiskundige toepassingen en bevat functies die speciaal zijn ontworpen voor de Levenberg - Marquardt algoritme . Kopen van 2

Schrijf code om de lsqnonlin functie " MatLab " gebruiken om niet-lineaire kleinste kwadraten problemen op te lossen met behulp van de Levenberg - Marquardt algoritme . Volgens de documentatie MathWorks , de syntax is :
x = lsqnonlin (fun , x0 ) op Twitter

De functie start op het punt " x0 " en vindt een minimum van de som van de kwadraten van de functies beschreven in "fun . " om deze functie specifiek gebruiken voor de Levenberg - Marquardt algoritme gebruik de optie " ScaleProblem " in de functie-definitie .
3

Schrijf code om het fsolve functie in " ; MatLab " systemen van lineaire vergelijkingen met de met de Levenberg - Marquardt algoritme lossen . Volgens de documentatie MathWorks , de syntax is :

x = fsolve (fun , x0 )
x = fsolve ( fun , x0 , opties ) op Twitter

De functie vindt een wortel ( nul) van een stelsel van niet-lineaire vergelijkingen door te beginnen bij een punt , x0 en iteratief proberen om de problemen in de functie te lossen "fun . " om deze functie specifiek gebruiken voor de Levenberg - Marquardt algoritme gebruik de optie ScaleProblem in de functie-definitie .
4

Start uw C + + editor en het gebruiken om code te schrijven aan de Levmar functies gebruiken om lineaire en niet-lineaire problemen met de Levenberg - Marquardt algoritme op te lossen. De Llevmar functies zijn vrij beschikbaar onder de GNU General Public License en zijn ontwikkeld om compatibel met " MatLab " te zijn en een aantal gangbare programmeertalen . De Levmar functies zijn geschreven in C + + en functies en code bloot voor constrained en ongedwongen optimalisatie. Je hebt de code aanpassen aan uw behoeften en aan te passen aan te passen aan uw uitvoering van de Levenberg - Marquardt algoritme .