logo资料库

多项式拟合MATLAB程序及实例.doc

第1页 / 共2页
第2页 / 共2页
资料共2页,全文预览结束
1 数表的拟合计算 多项式拟合 所谓拟合是指寻找一条平滑的曲线,最不失真地去表现测量数据。反过来说,对测量 的实验数据,要对其进行公式化处理,也就是用一种计算方法,构造一个函数来近似表达 数表的函数关系。由于函数构造方法的不同,有许多的逼近方法,机械设计中常用最小平 方逼近(最小二乘法理论)来实现曲线的拟合。根据该理论可推导出计算公式,而 MATLAB 在此数学基础上用一个函数命令 polyfit 即可实现,命令格式为: p  polyfit ,( ), nyx 式中:x 、y 为已知数据,n 为拟合多项式的阶次,p 为返回所得多项式的系数向量, 通常多项式拟合中阶数越大,拟合的精度就越高。 y  i 例 1:在工程技术中,通过实验获得一组 ( i xf ) 实验数据如下表 1: 表 1 实验实测数据 x 0 1 2 3 4 5 6 7 8 9 0 5.2 9.8 12.4 16.8 21.2 25.5 28.4 1.2 y 下面程序分别设 1n , 2n 4.3 进行一阶和二阶的拟合,结果如图 1 所示。 % 曲线拟合(Curve fitting) x=[0,1,2,3,4,5,6,7,8,9] y=[0.0,1.2,3.8,8.5,17.1,20.2,34.8,45.0,67.6,85.0] %绘实验节点数据 plot(x,y,'*r') hold on grid %绘一阶拟合曲线 p1=polyfit(x,y,1) py1=polyval(p1,x) plot(x,py1,'g') hold on grid %绘二阶拟合曲线 p2=polyfit(x,y,2)
py2=polyval(p2,x) plot(x,py2,'b') grid hold on 图 1 曲线拟合 根据所编制的程序,在 MATLAB 的工作空间可得: 1n 时, .3[ p 1  4545 .2 3188 .2 x  .1 8358 ] ,线性拟合得一条直线,即直线方程式为: 4545 .0  ,拟合得一条二次曲线,即曲线方 ] 4773 3188 .3 y  1 .0[ 1648 时, 2n 程式为: p 2 y 2  .0 1648 x 2  .1 8358 x  .0 4773
分享到:
收藏