多项式拟合——用Matlab实现并分析
来源:互联网 发布:淘宝点击结算没反应 编辑:程序博客网 时间:2024/06/05 17:38
多项式拟合——用Matlab实现并分析
1、问题
编程实现多项式拟合例子,体会overfitting。
2、方法
可以使用matlab中的方法实现多项式拟合。polyfit(x,y,n),其中n表示预测的多项式为n次。[p,S] = polyfit(x,y,n),p返回的是多项式的系数,S返回的有R,df以及normr,分别代表triangular factor, degrees of freedom, the norm of the residuals
3、具体实现
Matlab代码:
x=[0 0.3000 0.6000 0.9000 1.2000 1.5000 1.8000 2.1000 2.4000 2.7000 3.0000]y=[2.0000 2.3780 3.9440 7.3460 13.2320 22.2500 35.0480 52.2740 74.5760 102.6020 137.0000] %一次多项式模拟P=polyfit(x,y,1);xi=0:0.1:3.5;yi=polyval(P,xi);plot(xi,yi,x,y,'r*');[a,b]=polyfit(x,y,1)
运行结果:
a = 42.4080 -22.4620
b = R: [2x2 double]
df: 9
normr: 56.0082
图1
%二次多项式模拟Q=polyfit(x,y,2);yi=polyval(Q,xi);plot(xi,yi,x,y,'r*');[a,b]=polyfit(x,y,2)
运行结果
a = 21.0000 -20.5920 5.8880
b = R: [3x3 double]
df: 8
normr: 8.4886
图2
%三次多项式模拟W=polyfit(x,y,3);yi=polyval(W,xi);plot(xi,yi,x,y,'r*');[a,b]=polyfit(x,y,3)
运行结果
a = 4.0000 3.0000 -0.0000 2.0000
b = R: [4x4 double]
df: 7
normr: 6.6125e-14
图3
4、结果分析
图1过于简单,属于under-fiting,图2正合适,存在恰当偏离曲线的点,图三所有点全部吻合,不符合实际,因为实际数据总有误差,属于over-fiting。综上,图2正合适,拟合的函数由运行结果可得:
0 0
- 多项式拟合——用Matlab实现并分析
- Matlab——多项式拟合
- MATLAB多项式及多项式拟合
- matlab多项式拟合
- MATLAB 多项式拟合
- Matlab多项式拟合测试
- Matlab 多项式拟合
- MATLAB下的多项式拟合
- 第一天matlab多项式拟合
- matlab多项式与非多项式拟合
- 用离散正交多项式求三次拟合多项式[MATLAB版本]
- Matlab考察多项式拟合不同阶次误差,并输出到Excel
- MATLAB多项式函数拟合和曲线拟合
- 使用matlab进行多项式的拟合
- 多项式拟合
- 多项式拟合
- 多项式拟合
- Matlab-差值/拟合/回归分析
- 我的职场经验分享
- 黑马程序员——基础知识——Set
- 第23讲 项目3:两段函数求值
- nyoj 士兵杀敌(四) 123 (线段树&&树状数组) 更新区间值求特定位置的值
- gdb调试
- 多项式拟合——用Matlab实现并分析
- 详解Android源码目录
- Android Wearable 工程创建、运行
- Solr Using n-grams for suggestions
- 处理JSON的Java API :JSON的简介
- Drawable转换为Bitmap两种方法
- tortoiseSvn自动添加文件注释
- 初识DragonBoard 410c
- cocos2d-x 之 CCProgressTimer 以及扩展实现颜色渐变进度条等等