大众信息网

MATLAB中非线性最小二乘拟合曲线时OPTIONS中设置参数为什么没有效果呢

答案:4  mip版
解决时间 2021-01-08 17:08
  • 提问者网友:关系已逝
  • 2021-01-08 04:47
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”
最佳答案
  • 二级知识专家网友:縱马獨歸
  • 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).
我要举报
如以上问答内容为低俗/色情/暴力/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!
点此我要举报以上问答信息
推荐资讯