MATLAB中使用lsqcurvefit进行非线性最小二乘拟合曲线时,OPTIONS中设置参数为什么没有效果呢?
程序如下:
options=optimset('MaxFunEvals',2*10^(5));
options=optimset('MaxIter',1000);
options=optimset('MaxPCGIter',1000);
options=optimset('TolFun',10^(-3));
[betafit,resnorm]=lsqcurvefit(myfun,beta0,X,y,lb,ub,options)
运行中发现以上设置的OPTIONS参数都没有起作用,有什么问题呢
不会的。我设置的options=optimset('MaxFunEvals',2*10^(5)); 而运行程序结束后经常提示说,拟合超时,不成功,因为已经达到MaxFunEvals,我甚至改到10^(20));,程序还是很快运行结束,仍然提示“已经达到MaxFunEvals”
MATLAB中非线性最小二乘拟合曲线时OPTIONS中设置参数为什么没有效果呢
答案:4 mip版
解决时间 2021-01-08 17:08
- 提问者网友:关系已逝
- 2021-01-08 04:47
最佳答案
- 二级知识专家网友:縱马獨歸
- 2021-01-08 05:34
改成Inf,不过可能是初值选错了
全部回答
- 1楼网友:笑尽沧桑
- 2021-01-08 07:45
也许你设置的参数正好与默认值一致了。
- 2楼网友:一个人,一辈子
- 2021-01-08 07:21
者不可能阿。也许并不是你的optimset的原因,可能是你拟合时数据有问题吧。
- 3楼网友:娇而不傲的猫
- 2021-01-08 06:25
最优化终止:变化的相对函数值已小于options.tolfun,一般出现这样的字就是说优化结束了,达到了预定的精度。options.tolfun是控制精度的参数,一般默认的是1.0000e-006,自己也可以进行设置,options = optimset('tolfun',value1).
我要举报
如以上问答内容为低俗/色情/暴力/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!
点此我要举报以上问答信息
推荐资讯