找回密码
 注册
Simdroid-非首页
查看: 104|回复: 4

跪求助:关于lsqcurvefit命令拟合的问题

[复制链接]
发表于 2011-4-3 10:32:12 | 显示全部楼层 |阅读模式 来自 华南理工大学
本帖最后由 lysgreat 于 2011-4-3 10:36 编辑

求助:关于lsqcurvefit命令拟合的问题
已知自变量
x和对应函数y的一组数据值,利用函数拟合命令lsqcurvefit拟合出表达式中的两个参数ab的大小。
其中,函数表达式是:


y=a*(1-erf(x/2/sqrt(bt)))

其中 erf(x)=2/sqrt(pi)*integral from 0 to x of exp(-t^2) dt.
t为常数 t=4*365*24*3600
也可见链接:
http://home.simwe.com/space-419822-do-album-picid-35278.html


自变量:x=[10 20 30 40 50 60 70]*10^(-3)
函数值:y=[5.1 3.9 3.3 2.2 1.7 1.6 1.3]
自己编的程序如下:


xdata=[10  20 30 40 50 60 70]*10^(-3);
Ccl=[5.1 3.9 3.3 2.2 1.7 1.6 1.3];

x=xdata;
y=Ccl;

a0= [1.5 ,  4];
%
初识揣测

[a, resnorm] = lsqcurvefit(@myfun , a0 , x , y)

子程序myfun.m  为
function  F = myfun(a, data)
x = data;
t =4*365*24*3600;
F= a(1)*(1-erf(x./2/sqrt(a(2)*t)));


但是不知道为何,总是有错误,请各位大侠帮帮忙啊,有着急啊,谢谢!!

评分

1

查看全部评分

发表于 2011-4-3 19:56:57 | 显示全部楼层 来自 黑龙江哈尔滨
Simdroid开发平台
什么错误呀?贴出来呀,这么大段程序,难道让别人替你运行一下?
回复 不支持

使用道具 举报

 楼主| 发表于 2011-4-3 20:14:37 | 显示全部楼层 来自 华南理工大学
谢谢!!错误提示为:

??? Undefined function or method 'erf' for input arguments of type 'double' and attributes 'full row complex'.

Error in ==> myfun at 6
F= a(1)*(1-erf(x./2/sqrt(a(2)*t)));

Error in ==> lsqcurvefit>objective at 266
         F = feval(funfcn_x_xdata{3},x,XDATA,varargin{:});

Error in ==> snls at 362
            newfvec = feval(funfcn{3},xcurr,varargin{:});

Error in ==> lsqncommon at 149
    [xC,FVAL,LAMBDA,JACOB,EXITFLAG,OUTPUT,msgData]=...

Error in ==> lsqcurvefit at 258
[xCurrent,Resnorm,FVAL,EXITFLAG,OUTPUT,LAMBDA,JACOB] = ...

Error in ==> runme at 10
[a, resnorm] = lsqcurvefit(@myfun,a0,data,zdata)

这里lsqcurvefit拟合命令运行出错了。。。
运行中出现复数吗?erf命令用不了复数吗?
回复 不支持

使用道具 举报

发表于 2011-4-3 21:04:38 | 显示全部楼层 来自 黑龙江哈尔滨
本帖最后由 messenger 于 2011-4-3 21:06 编辑

是的,erf命令用不了复数。你可以令a(2)=/sqrt(a(2)*t))./2,得到拟合结果后再反算原来的a(2)。即采用F= a(1)*(1-erf(x.*a(2)));来拟合,可以得到比较理想的拟合结果:
a =
    5.809752094073831    13.84893396425852
resnorm =
    0.3.412381193673270

评分

1

查看全部评分

回复 不支持

使用道具 举报

 楼主| 发表于 2011-4-3 22:17:58 | 显示全部楼层 来自 华南理工大学
好主意啊!!
谢谢 messenger 总版主!!!

的确可以成功运行啊!!
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-10-4 23:20 , Processed in 0.040982 second(s), 18 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表