声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2073|回复: 6

菜鸟求教指数曲线拟合

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

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

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

x
我要对一堆数据做指数曲线拟合,求其中的系数<BR>公式为x=y*b*exp(-y/c)<BR>其中b,c为要拟合求出的系数<BR>语法该怎么写啊?我刚刚开始学,照有关的例子写了几个都不对,现在只会用x,y数据画图plot :P<BR>a=xlsread ('data.xls','041');<BR>x1=a(:,3);<BR>y1=a(:,4)<BR>x2=a(:,6);<BR>y2=a(:,7);<BR>x3=a(:,9);<BR>y3=a(:,10);<BR>plot(x1,y1,'b.',x2,y2,'k.',x3,y3,'r.')<BR>xlabel('Volume');<BR>ylabel('Speed');<BR>title(Volume-Speed of Link02041);<BR>后面分别用x1,y1,x2.y2,x3,y3拟合求系数b,c该怎么写咧?<BR>本人比较笨,请高手不吝赐教:)<BR>[em04]
回复
分享到:

使用道具 举报

发表于 2006-3-23 20:00 | 显示全部楼层

回复:(zyfbb)菜鸟求教指数曲线拟合

<P>建议移项,两边去对数得到ln(x/y)=lnb-y/c<BR><BR>然后用polyfit用上述公式进行多项式拟合即可</P>
 楼主| 发表于 2006-3-23 20:31 | 显示全部楼层
<P>谢谢指教,原来是没有直接的方法呀,我还以为是输入公式,语法写对了就直接算出来啦<BR>谢谢哈,我试试</P>[em01]
 楼主| 发表于 2006-3-23 22:03 | 显示全部楼层
为什么我写log(x/y)的时候,提示警告底数为0<BR>我写ln(x/y)的话,又提示没有ln这个变量,ft。。。-_-要怎么写啊?<BR>大牛救命啊。。。。[em06]
发表于 2006-3-23 22:07 | 显示全部楼层

回复:(zyfbb)为什么我写log(x/y)的时候,提示警告...

倒,这说明你给出的数据y中有0存在,去掉这点或者用eps代替

ln在matlab中的函数是log
 楼主| 发表于 2006-3-23 22:32 | 显示全部楼层
不可能阿,x是平均流量,y是平均速度,一平均怎么也不可能有0啊<BR>我还找到xls表仔细看了一遍,xy都没有0啊<BR>我是这么想的<BR>a=xlsread ('data.xls','041');<BR>y1=a(:,3);<BR>x1=a(:,4)<BR>p1=log(y1/x1);    (结果这一步就提示warning了)<BR>X=[ones(size(x1) x1)];<BR>a=X\y1<BR>哪里不对么?<BR>特聘教授你写一个正确的给我观摩一下吧:)
发表于 2006-3-24 07:36 | 显示全部楼层

回复:(zyfbb)不可能阿,x是平均流量,y是平均速度,...

<DIV class=quote><B>以下是引用<I>zyfbb</I>在2006-3-23 22:32:15的发言:</B><BR>不可能阿,x是平均流量,y是平均速度,一平均怎么也不可能有0啊<BR>我还找到xls表仔细看了一遍,xy都没有0啊<BR>我是这么想的<BR>a=xlsread ('data.xls','041');<BR>y1=a(:,3);<BR>x1=a(:,4)<BR>p1=log(y1/x1);    (结果这一步就提示warning了)<BR>X=[ones(size(x1) x1)];<BR>a=X\y1<BR>哪里不对么?<BR>特聘教授你写一个正确的给我观摩一下吧:)</DIV>
<br>把数据传上来
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-20 21:30 , Processed in 0.059974 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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