Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2009-01-12, 17:05   #1
chm818
初级会员
 
注册日期: 2008-04-03
年龄: 45
帖子: 4
声望力: 0
chm818 正向着好的方向发展
默认 非线性曲线拟合并求系数的问题

函数为:y=0.1+(a-0.1).*(1-erf(x./(2.*sqrt(b.*7776000))));
erf(x)为误差函数,要求x必须为实数,
x=[0.25,0.75,1.25,1.75,2.25,2.75,3.5,4.5,5.5,7,8,10,12,14,16]
y=[2.409099672,1.565396114,0.940174982,0.605753968,0.658565222,0.622579467,...
0.253082852,0.276049767,0.221442495,0.157116236,0.102593353,0.069936958,...
0.065624737,0.075597258,0.062826299];
现在要用最小二乘法求解a和b的值来,我用cftool做的时候,用上面的函数表达式,提示input必须为实数,拟合无法进行,erf里面应该是实数啊,不知道为什么?后来我在erf()外面加了一个abs(),可以拟合了,但是拟合的结果不合适,b应该是正数,却得到了负数的结果来,搞不定,请前辈指点,在线急等回复。
再就是cftool实现的拟合好像不是最小二乘法吧?!
chm818 当前离线   回复时引用此帖
旧 2009-01-12, 21:35   #2
slgu
高级会员
 
注册日期: 2007-06-24
年龄: 70
帖子: 188
声望力: 21
slgu 正向着好的方向发展
默认 回复: 非线性曲线拟合并求系数的问题

y=0.1+(b(1)-0.1)*(1-erf(b(2)*x));
b=[2.5503709, 0.44392804]
slgu 当前离线   回复时引用此帖
旧 2009-01-12, 21:48   #3
chm818
初级会员
 
注册日期: 2008-04-03
年龄: 45
帖子: 4
声望力: 0
chm818 正向着好的方向发展
默认 回复: 非线性曲线拟合并求系数的问题

多谢回复,您的y表达式跟我的不一样噢!这样得到结果就会不同!
chm818 当前离线   回复时引用此帖
旧 2009-01-13, 09:33   #4
slgu
高级会员
 
注册日期: 2007-06-24
年龄: 70
帖子: 188
声望力: 21
slgu 正向着好的方向发展
默认 回复: 非线性曲线拟合并求系数的问题

solve('1/(2*sqrt(b*7776000))-.44392804')
ans =
0.0000001631393028
不就一样了吗?!
slgu 当前离线   回复时引用此帖
旧 2009-01-13, 16:37   #5
chm818
初级会员
 
注册日期: 2008-04-03
年龄: 45
帖子: 4
声望力: 0
chm818 正向着好的方向发展
默认 回复: 非线性曲线拟合并求系数的问题

多谢,的确是因为b值接近于零缘故,我后来将sqrt(b.*7776000)=c,函数就变成
y=0.1+(a-0.1).*(1-erf(x/(2*c))),果然没有出现上面的问题,拟合出了a和c,利用sqrt(b.*7776000)=c再求出了b,这样应该没有什么问题吧。但是b值数量级应当在e-12左右,计算结果在e-7,不知是试验数据有问题还是计算方法有误!

谢谢各位指教!

提前预祝大家新春快乐,新年有气象!
chm818 当前离线   回复时引用此帖
旧 2009-05-30, 11:32   #6
wrshl
初级会员
 
注册日期: 2009-05-28
年龄: 43
帖子: 1
声望力: 0
wrshl 正向着好的方向发展
默认 回复: 非线性曲线拟合并求系数的问题

可以看下这个,LabVIEW编的非线性曲线拟合软件,不需要初始值就可以进行拟合求出函数的系数值。

http://www.pudn.com/downloads168/sou...ail775986.html
wrshl 当前离线   回复时引用此帖
回复

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码


相似的主题
主题 主题作者 版面 回复 最后发表
[资料]BP网络总结及应用实例 guofeng0108 MATLAB论坛 37 2012-06-11 22:08
simulink模型生成代码 verywell MATLAB论坛 0 2009-03-24 11:21
[求助]请求大侠解答简单问题 fenyun MATLAB论坛 1 2009-02-11 03:13
[求助]电力系统机组启停优化算法程序 woshi523de MATLAB论坛 1 2008-11-18 08:12
【求助】这个微分方程怎么写成函数文件呢? grasszhang MATLAB论坛 0 2007-08-30 15:25


所有时间均为北京时间。现在的时间是 14:36


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.