Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2008-10-31, 15:45   #1
huaijuliu
普通会员
 
注册日期: 2008-01-27
年龄: 38
帖子: 31
声望力: 18
huaijuliu 正向着好的方向发展
默认 [求助]关于MATLAB中lsqcurvefit、polyfit用法的探讨

各位,小弟在这请安了。最近遇到一个数据拟合问题。
已知:x=[1500 2000 2500 3000 3500 4000 4500 5000 5500];
y=[78.59 83.04 84.11 86.63 87.61 84.87 84.67 82.50 80.54];求解系数a,使得函数f(x)=a(1)*x+a(2)*x^2+a(3)*x^3+a(4)*x^4+a(5)*x^5+a(6)是x,y的最佳拟合曲线。
这个问题我想就是利用多项式数据拟合
是不是直接应用polyval polyfit,得出的系数即为a?
还是需要最小二乘法数据拟合函数lsqcurvefit?如果将目标函数设置为多项式f(x)=a(1)*x+a(2)*x^2+a(3)*x^3+a(4)*x^4+a(5)*x^5+a(6),效果是不是和polyfit一样,可结果得出的系数是不一样的,不知道这道题大家用第一种还是第二种,抑或其它?请解疑。
huaijuliu 当前离线   回复时引用此帖
旧 2008-10-31, 17:25   #2
huaijuliu
普通会员
 
注册日期: 2008-01-27
年龄: 38
帖子: 31
声望力: 18
huaijuliu 正向着好的方向发展
默认 回复: [求助]关于MATLAB中lsqcurvefit、polyfit用法的探讨

polyfit函数拟合出来的就是一个多项式,而多项式的系数都是用最小二乘法得出的。
可以用help polyfit来看帮助,会发现有这么一句话:
P = POLYFIT(X,Y,N) finds the coefficients of a polynomial P(X) of
degree N that fits the data Y best in a least-squares sense.
既然Polyfit是用最小二乘法拟合多项式曲线,按说应该两个函数求出的系数矩阵相同,可是总是会存在偏差。
huaijuliu 当前离线   回复时引用此帖
旧 2008-11-01, 00:29   #3
meteora1005
高级会员
 
注册日期: 2008-05-31
年龄: 38
帖子: 104
声望力: 19
meteora1005 正向着好的方向发展
默认 回复: [求助]关于MATLAB中lsqcurvefit、polyfit用法的探讨

多项式拟合是按x的降幂排列的,相应系数也是,而用lsqcurvefit给出的系数是你定义函数时怎么定义,顺序还是怎么排,你看看是不是这个地方出问题了。
meteora1005 当前离线   回复时引用此帖
旧 2008-11-01, 00:49   #4
未注册
游客
 
帖子: n/a
默认 回复: [求助]关于MATLAB中lsqcurvefit、polyfit用法的探讨

lsqcurvefit在有些情况下与所给的初值(a的初值)有关。若给的初值适当,两者的结果应该完全相同(注意系数序列的差别),因为他们都是根据最小平方法(最小二乘法)得到相应的结果。当然,对于多项式问题,用polyfit更为简单方便。
  回复时引用此帖
旧 2008-11-01, 11:13   #5
huaijuliu
普通会员
 
注册日期: 2008-01-27
年龄: 38
帖子: 31
声望力: 18
huaijuliu 正向着好的方向发展
默认 回复: [求助]关于MATLAB中lsqcurvefit、polyfit用法的探讨

您讲的很对 起始向量对结果有很大影响 如果取不好 经常会发生警告 奇异阵 什么的 POLYfit 确实更为方便 而且拟合精度也较好
huaijuliu 当前离线   回复时引用此帖
回复

主题工具
显示模式

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

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


相似的主题
主题 主题作者 版面 回复 最后发表
[求助]VC中怎么传递参数给imread('fliename') TT MATLAB论坛 2 2009-02-07 11:36
如何实现gui窗口嵌套 beulah MATLAB论坛 1 2008-12-28 17:57
[求助]如下的用语音信号里面的专业术语该怎样翻译 beyondsyq MATLAB论坛 2 2008-12-18 14:41
[求助]如何取一段高频信号的包络啊 xiangrufeia MATLAB论坛 0 2008-12-14 19:59
[求助]怎么改变控件的背景颜色 sjuie_192 MATLAB论坛 0 2008-12-13 11:34


所有时间均为北京时间。现在的时间是 18:27


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