[www.253606.com] © tutti i diritti riservati. progettato
Come scrivere codice per l'algoritmo Marquardt
Il Levenberg - Marquardt è un metodo utilizzato in informatica e matematica per trovare il minimo locale di una funzione espressa come somma dei minimi quadrati di funzioni non lineari . E 'spesso utilizzato per risolvere problemi di regressione lineare e di trovare il minimo di funzioni che possono essere rappresentati come somma dei minimi quadrati , così come un ottimizzatore per funzioni che non possono essere scomposte in minimi quadrati . L'algoritmo è iterativo , nel senso che continua a ripetere finché non è soddisfatta una condizione di arresto , che è considerato come la soluzione ottimale . È possibile scrivere il codice per l'algoritmo di Levenberg - Marquardt utilizzando le funzioni di MatLab , o utilizzando le funzioni esposte nelle soluzioni scritte in Fortran e C + + . Cose che ti serviranno
MatLab
C + + editor di
Computer

Mostra Altre istruzioni
1

lanciare il " MatLab " applicazione . " MatLab , " o Matrix Laboratory , è un software matematico che è particolarmente utile per la risoluzione di minimi quadrati equazioni. Serve come un linguaggio di programmazione per applicazioni matematiche e contiene le funzioni che sono specificamente progettati per l'algoritmo di Levenberg - Marquardt .
2

Scrivere il codice per utilizzare la funzione lsqnonlin in " MatLab " per risolvere i problemi non lineari ai minimi quadrati utilizzando l'algoritmo di Levenberg - Marquardt . Secondo la documentazione MathWorks , la sintassi è :
x = lsqnonlin ( divertimento , x0 )

La funzione inizia nel punto " x0 " e trova un minimo della somma dei quadrati delle funzioni descritte in " divertente". per utilizzare questa funzione specificamente per l'algoritmo di Levenberg - Marquardt , utilizzare l'opzione " ScaleProblem " nella definizione della funzione .
3

Scrivere il codice per utilizzare la funzione fsolve in " ; MatLab " per risolvere sistemi di equazioni non lineari utilizzando l' utilizzando l' algoritmo di Levenberg - Marquardt . Secondo la documentazione MathWorks , la sintassi è :

x = fsolve ( divertimento , x0 )
x = fsolve ( divertimento , x0 , opzioni )

La funzione trova una radice ( zero) di un sistema di equazioni lineari partendo da un punto , x0 , e iterativamente cercare di risolvere i problemi della funzione " divertimento . " Per usare questa funzione specificamente per Levenberg - Marquardt , utilizzare l'opzione ScaleProblem nella definizione della funzione .
4

Avviare il C + + montaggio e lo usano per scrivere il codice per utilizzare le funzioni Levmar per risolvere i problemi non lineari utilizzando l'algoritmo di Levenberg - Marquardt lineare . Le funzioni Llevmar sono liberamente disponibile sotto la GNU General Public License e sono stati sviluppati per essere compatibili con " MatLab " e diversi linguaggi di programmazione comune. Le funzioni Levmar sono scritte in C + + ed esporre le funzioni e il codice per l'ottimizzazione vincolata e non vincolata . È possibile modificare il codice in base alle proprie esigenze e di personalizzarlo per adattarlo al vostro implementazione dell'algoritmo Levenberg - Marquardt .