24小时热门版块排行榜    

查看: 2171  |  回复: 1

weikang921

新虫 (初入文坛)

[求助] 为什么增加了迭代次数MaxFunEvals,还是提示超过原来的默认值

用最小二乘法拟合2个参数
>> x0=[0.16,2.3];
>> [x,resnorm] = lsqcurvefit(@diffusionfunction,x0,xdata,ydata)

Solver stopped prematurely.

lsqcurvefit stopped because it exceeded the function evaluation limit,
options.MaxFunEvals = 200 (the default value).


x =

    4.4899    0.1350


resnorm =

    3.3061
于是我更改了'MaxfunEvals'的默认值
options= optimset('MaxfunEvals',1000000);在workspace里看,MaxfunEvals的值也确实改成了1000000。再次拟合
>> x0=[0.16,2.3];
>> [x,resnorm] = lsqcurvefit(@diffusionfunction,x0,xdata,ydata)Solver stopped prematurely.

lsqcurvefit stopped because it exceeded the function evaluation limit,
options.MaxFunEvals = 200 (the default value).


x =

    4.4899    0.1350


resnorm =

    3.3061
还是出来同样的结果,不是已经改了默认值了吗?怎么这里出来的options.MaxFunEvals 还是200??我是新手,向大侠求助啊!
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

32100004

铜虫 (初入文坛)

你看看doc lsqcurvefit查查语法吧,options应该加载到函数里头去
2楼2014-07-16 12:49:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 weikang921 的主题更新
信息提示
请填处理意见