matlab polyfit拟合出来的函数怎样分析其精确程度?用误差分析怎么算??结果具体怎样分析??谢谢
2个回答
展开全部
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是误差的大小~
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以上~
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询