声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1330|回复: 5

[编程技巧] 求助线性拟和

[复制链接]
发表于 2006-10-31 23:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
我想拟和出曲线y=1/(c+a*exp(b*x)),因为其中有3个未知数,特别是参数c的存在,使我不能用两边求倒数和对数的方法来转化为线性拟和。还请各位高手指点我一下,怎样才能把它拟和出来啊
谢谢啊

[ 本帖最后由 ChaChing 于 2009-4-22 13:14 编辑 ]
回复
分享到:

使用道具 举报

发表于 2006-11-1 19:54 | 显示全部楼层
麻烦给出拟合的数据
 楼主| 发表于 2006-11-2 12:47 | 显示全部楼层

谢谢大家啊

要拟和的数据为
x =    3.9900    9.9900   16.3900   22.7900   29.1900   35.1900   41.5900
      47.9900   53.9900   60.3900   66.7900   72.7900   79.1900   85.5900
      91.9900   97.9900
y =    2.1634    2.9223    4.0168    5.4091    7.0874    9.2672   11.6971
       13.8987   15.9450   17.5862   18.4444   18.9926   19.5583   19.7022
       19.5028   19.8513
拟和函数y=1/(c+a*exp(b*x))为倒指数函数,其渐进线为y=1/c,如果事先知道渐进线1/c,则拟和可以化为线性拟和,但如果事先未知渐进线,那该怎样拟和啊,还请各位高手帮忙啊
谢谢啊
发表于 2006-11-2 15:02 | 显示全部楼层
funtion f=myfun(a,x)
f=1./(a(3)+a(1)*exp(a(2)*x));

x =    [3.9900    9.9900   16.3900   22.7900   29.1900   35.1900   41.5900...
      47.9900   53.9900   60.3900   66.7900   72.7900   79.1900   85.5900...
      91.9900   97.9900];
y=[2.1634    2.9223    4.0168    5.4091    7.0874    9.2672   11.6971...
       13.8987   15.9450   17.5862   18.4444   18.9926   19.5583   19.7022...
       19.5028   19.8513];
a0=[1 -.1 1];
options=optimset('MaxFunEvals',1000000);
options=optimset('MaxIter',1000000);

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

plot(x,y,'o')
hold on
plot(x,1./(a(3)+a(1)*exp(a(2)*x)))


解得
a =

    0.7546   -0.0740    0.0493


residual =

    1.2527
其中a(1)为a,a(2)为b,a(3)为c

运行结果图

运行结果图

评分

1

查看全部评分

 楼主| 发表于 2006-11-3 21:10 | 显示全部楼层

谢谢您的指点啊

十分感谢您的指点,在次我向您表示深深的敬意!
发表于 2006-11-6 09:43 | 显示全部楼层
用1stOpt算的结果好像更好:

均方差(RMSE): 0.268318172408539
残差平方和(SSE): 1.15191426631453
相关系数(R): 0.999212888651519
相关系数之平方(R^2): 0.998426396847313
决定系数(DC): 0.998308215230725
卡方系数(Chi-Square): 0.102326680563435
F统计(F-Statistic): 3842.09629856389

参数        最佳估算
----------        -------------
a                  0.696536404853994
b                  -0.0719189910314401
c                  0.0492240412963468
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-6 17:41 , Processed in 0.092421 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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