Я написал скрипт в MATLAB 2010, в котором я вызвал функцию lqnonlin, и он работал нормально.
options = optimset('TolFun',0.001,...
'Display','off',...
'Algorithm','levenberg-marquardt');
[X,R2,r] = lsqnonlin(@FCN,XO,[],[],options);
Затем я запустил код в MATLAB 2008a следующим образом (после прочтения MATLAB: изменения LSQNONLIN в R2011a? )
options = optimset('TolFun',0.01,...
'Display','off',...
'LargeScale','off',...
'LevenbergMarquardt','on')
[X,R2,r] = lsqnonlin(@FCN,XO,[],[],options);
Он дает вывод, но не дает правильного ответа - фактически он остается неизменным по сравнению с исходными данными
Думая / надеясь, что это связано с моими настройками параметров
решаемые
Пришлось настроить TolFun на гораздо более низкую настройку. понятия не имею, почему.