Как да пишем код за Marquardt алгоритъм

алгоритъм Levenberg – Marquardt е метод, използван в областта на компютърните науки и математика, за да открие най- локален минимум на функция , изразено като сбор от най-малките квадрати на нелинейни функции. Тя често се използва за решаване на линейни проблеми регресия и да намерите минимум на функции, които могат да бъдат представени като сума на най-малките квадрати , както и оптимизатор за функции, които не могат да се разделят на най-малките квадрати . Алгоритъмът е повтаряща се , което означава, че тя продължава да се повтарят , докато не спре условие е изпълнено , което се приема, че е оптималното решение . Можете да пишете код за алгоритъм Levenberg – Marquardt използване на функции в MatLab , или чрез използване на функциите , изложени в решения , написани на Fortran и C + + . Нещата ще трябва
MatLab
C + + редактор
Computer
<Бразилски> Показване на още Инструкции
е. 1

Стартиране на “ Matlab “ приложение. “ MatLab , “ или Матрицата лаборатория , е математически софтуерно приложение, което е особено полезно за решаване на най- малките квадрати уравнения . Той служи като език за програмиране на математически приложения и съдържа функции, които са специално предназначени за алгоритъм Levenberg – Marquardt .

2

Напиши код, за да използвате функцията за lsqnonlin в “ MatLab “ за решаване на нелинейни проблеми най-малките квадрати , използвайки алгоритъм Levenberg – Marquardt . Според документацията MathWorks , синтаксисът е :
х = lsqnonlin ( забавно, x0 )

Функцията започва в точката “ x0 “ и установи минимум на сбора от квадратите на функциите, описани в “ забавно . “ за да използвате тази функция специално за алгоритъм Levenberg – Marquardt , използвайте опцията “ ScaleProblem “ в дефиницията на функцията .

3

Напиши код, за да използвате функцията за fsolve в “ ; MatLab “ за решаване на системи нелинейни уравнения с помощта на алгоритъм за Levenberg – Marquardt . Според документацията MathWorks , синтаксисът е :

х = fsolve ( забавно, x0 )
х = fsolve ( забавно, x0, опции )

Функцията намира корен ( нула) на система от нелинейни уравнения , като се започне в една точка , x0, и итеративно се опитва да реши проблемите в функция “ веселбата. “ за да използвате тази функция специално за алгоритъм Levenberg – Marquardt , използвайте опцията ScaleProblem в дефиницията на функцията .

4

Стартирайте вашия C + + редактор и да го използвате за писане на код , за да използва функциите Levmar за решаване на линейни и нелинейни проблеми посредством алгоритъм Levenberg – Marquardt . Функциите Llevmar са свободно достъпни под GNU General Public License и са разработени, за да бъде съвместима с “ MatLab “ и няколко общи програмни езици. Функциите Levmar са написани на C + + и излагат функции и код за -ограничена и непринуден оптимизация. Можете да промените кода , за да отговаря на вашите нужди и да я персонализирате, за да се поберат на вашия изпълнение на алгоритъма на Levenberg – Marquardt .

Вашият коментар