2012-05-13 5 views
-2

함수를 최적화하기 위해 Levenberg-Marquardt 수정과 함께 Newton의 방법으로 .m (matlab) 파일을 찾은 사람이 누구인지 아는 사람이 있습니까?Levenberg-Marquardt optimization

감사

+2

[Matlab File Exchange] (http://www.mathworks.com/matlabcentral/fileexchange/)에서 검색 했습니까? –

답변

3

나는 항상 file exchange에 검색을 시작합니다. LMF nonlinear solution을 찾았습니다. The optimization toolbox에는 lsqnonlin 함수가있는 것으로 보입니다. 물론 비용이 적게 들며 코드의 이식성이 제한됩니다 (요즘 파이썬을 사용하는 많은 이유 중 하나).

+0

고맙습니다;) 이것이 내 문제입니다. 다음 점은 x '= x + d이고, 변위 d는 방정식 Hd = -gradf의 선형 집합으로부터 풀립니다. – Monique

+0

고맙습니다;) 여기에 제 문제가 있습니다. 다음 점은 x '= x + d이며, 변위 d는 방정식 Hd = -gradf의 선형 집합 (H는 헤 시안)으로부터 풀려나지만, 문제가있다. 헤 시안 <0이면 무슨 일이 일어나는가? x '는 f (x')> f (x)이고 함수를 최소화하기 위해 triying을 시도하기 때문에 작동하지 않습니다. Therefero 나는 루벤을 안정시키기 위해 Levenberg-Marquardt 방법을 사용해야한다고 생각합니다. 나는 Hessian의 고유치 (E = eig (H))를 계산해야하고, (H + a diag (E)) d = -grad f를 풀어야한다고 생각합니다. 아마도 단위 매트릭스로 diag (E)를 대체해야합니까? 이것은 내 코드 – Monique

2

MATLAB MEX versionCMPFIT 인 경우 시도해 볼 수 있습니다.

+0

^this입니다. 또는 Windows에서 Matlab의 .NET interop을 사용하고 CSMPFIT : https://csmpfit.codeplex.com/을 호출하십시오. –