标题:[求助]最小二乘曲线拟合
只看楼主
shuanglinzmh
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2006-4-25
 问题点数:0 回复次数:3 
[求助]最小二乘曲线拟合
我最近在作毕业设计,遇到了一点问题,用polyfit函数拟合一系列数据时,
x=[0,2.27,3.66,4.47,5.62,6.44,6.92,7.69,8.18,9.27,9.77,11.45];
y=[35.10,35.88,35.39,34.80,33.80,32.67,31.96,30.56,29.70,26.55,24.37,16.35];
f2=polyfit(x,y,2)
f4=polyfit(x,y,4)
y2=polyval(f2,x);
y4=polyval(f4,x);
plot(x,y,'o',x,y2,':*',x,y4,':p')

这个简单的程序,结果拟合出来的 曲线 前半段 为折线
怎么回事?有什么改进的吗?
搜索更多相关主题的帖子: 曲线拟合 最小二乘 
2006-04-26 12:36
abingchem
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:716
专家分:0
注 册:2004-12-30
得分:0 
不是曲线的问题,你是数据的问题:)
如果你把x的范围中的数据取在0:1:12,这样绘图会比较好看
另,4阶的符合很好了

此人已消失
2006-04-26 18:27
shuanglinzmh
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2006-4-25
得分:0 

谢谢楼上的大侠。

2006-04-27 09:52
ydgsl
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:107
专家分:20
注 册:2006-9-20
得分:0 

以上数据用多项试拟合不是很恰当的,若用模型:
y=b(1)+b(2)*x+b(3)*(exp(b(4)*(x-b(5)))-exp(-b(4)*(x-b(5))))./(exp(b(4)*(x-b(5)))+exp(-b(4)*(x-b(5))));
则 b=[1531.77075, -2412.69643, 542632.921, .444651267e-2, .620232947] 能较好地反映Y与X的关系。
R^2=0.9982

2006-09-21 09:33



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-60261-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 2.256374 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved