使用matlab返回默认值
我将tolfun改为1e-10,但是在运行lsqcurvefit时,tolfun恢复为默认值。有人知道哪里做错了吗使用matlab返回默认值,matlab,Matlab,我将tolfun改为1e-10,但是在运行lsqcurvefit时,tolfun恢复为默认值。有人知道哪里做错了吗 if LMAlgorithm options = optimoptions(... @lsqcurvefit, 'levenberg-marquardt', .001, ... 'Tolfun', 1e-10); end [personalParams,personalRes,personalResidual] = lsqcurvefit(
if LMAlgorithm
options = optimoptions(...
@lsqcurvefit, 'levenberg-marquardt', .001, ...
'Tolfun', 1e-10);
end
[personalParams,personalRes,personalResidual] = lsqcurvefit(...
heightModel,initialValues,personalData(:,1),personalData(:,2),[],[],options);
也许“Tolfun”应该改为“Tolfun”?是什么让你认为它会恢复到默认值?你确定
LMAlgorithm
是true
?优化停止了,因为相对平方和(r)的变化小于选项。Tolfun=1.000000e-06。是我在查看停止条件详细信息时发现的。@user2694285:只需在调用lsqcurvefit
之前打印options
的内容即可。TolFun
的价值是什么?如何打印这些内容?在选项中显示iter?