24小时热门版块排行榜    

查看: 1951  |  回复: 11

wanldcr

木虫 (正式写手)

引用回帖:
4楼: Originally posted by lijie169 at 2012-05-20 18:08:21
function f=fit(x,y)
f=lsqnonlin(@(a)fun(a,x,y),');
function f1=fun(a,x,y)
f1=y-(a(1)+a(2)*x+a(3)*x.^2+a(4)*x.^3).*exp(-a(2)*x);
end
end

x,y就是楼主输入的,a是一个矩阵,对应着abcd...

我用你的代码算了一下楼主的数据,结果是
>> fitt(x,y)

ans =

  1.0e+003 *

    7.8026
   -0.0007
   -9.6029
    4.5466
但是MATLAB提示过早结束,这个该怎么继续改进呢?

MATALB警告:
Solver stopped prematurely.

lsqnonlin stopped because it exceeded the function evaluation limit,
options.MaxFunEvals = 400 (the default value).
人在江湖混,遇事要镇定,让子弹再飞一会
11楼2012-07-11 17:52:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wanldcr

木虫 (正式写手)

引用回帖:
4楼: Originally posted by lijie169 at 2012-05-20 18:08:21
function f=fit(x,y)
f=lsqnonlin(@(a)fun(a,x,y),');
function f1=fun(a,x,y)
f1=y-(a(1)+a(2)*x+a(3)*x.^2+a(4)*x.^3).*exp(-a(2)*x);
end
end

x,y就是楼主输入的,a是一个矩阵,对应着abcd...

另外,如果要把原始图形和拟合图形都作出来要怎么在你的代码上修改?
PS 楼主的代码很简洁直观,
人在江湖混,遇事要镇定,让子弹再飞一会
12楼2012-07-11 17:58:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 chj787 的主题更新
信息提示
请填处理意见