matlab polyfit拟合出来的函数怎样分析其精确程度?用误差分析怎么算??结果具体怎样分析??谢谢

如题所述

Year=[1625 1830 1930 1960 1974 1987 1999];
Population=[5 10 20 30 40 50 60];
Year1=1625:2020;
Year2=2000:2020;
[P2 S2]=polyfit(Year,Population,3);
Population1=polyval(P2,Year1);
Population2=polyval(P2,Year2);
plot(Year,Population,'*',Year2,Population2,'X',Year1,Population1);
这里的S2是误差的大小~追问

S2是多少才能算拟合效果比较好呢???我初学的不好意思。。。是不是可以自己给定一个范围的呀???

追答

S2是残差,多大的数才算拟合效果好其实并不能确定。只有相关系数(-1,1)才能确定拟合的好坏,越接近1(或-1),表示拟合的效果较好,一般来说在0.95以上可以认为基本拟合。要得到相关系数你得用cftool命令,分别选择xdata和ydata的数据,在点击fitting后选择拟合函数的类型(我这里是三次函数),会得到一个R Square的数,它就是相关系数了~你可以试试,我做出来了,好像是0.99以上~

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-07-23
拟合值与实际值做差,使得sum(abs(shiji-nihe))取得最小即可
一般阶次高精度也较高,但表达式往往比较复杂,在简单与精度方面折中考虑