
多项式拟合MATLAB.doc
2页多项式拟合1数表的拟合计算所谓拟合是指寻找一条平滑的曲线,最不失真地去表现测量数据反过来说,对测量的实验数据,要对其进行公式化处理,也就是用一种计算方法,构造一个函数来近似表达数表的函数关系由于函数构造方法的不同,有许多的逼近方法,机械设计中常用最小平方逼近(最小二乘法理论)来实现曲线的拟合根据该理论可推导出计算公式,而MATLAB在此数学基础上用一个函数命令polyfit即可实现,命令格式为:p€polyfit(x,y,n)式中:x、y为已知数据,n为拟合多项式的阶次,p为返回所得多项式的系数向量,通常多项式拟合中阶数越大,拟合的精度就越高例1:在工程技术中,通过实验获得一组y€f(x)实验数据如下表1:ii表1实验实测数据x0123456789y01.24.35.29.812.416.821.225.528.4下面程序分别设n€1,n€2进行一阶和二阶的拟合,结果如图1所示曲线拟合(Curvefitting)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')holdongrid%绘一阶拟合曲线p1=polyfit(x,y,1)py1=polyval(p1,x)plot(x,py1,'g')holdongrid%绘二阶拟合曲线p2=polyfit(x,y,2)py2=polyval(p2,x)plot(x,py2,'b')gridn€1时,p€[3.3188-2.4545],线性拟合得一条直线,即直线方程式为:1y€3.3188X-2.45451n€2时,p€[0.16481.8358-0.4773],拟合得一条二次曲线,即曲线方2程式为:y€0.1648x2,1.8358x-0.47732。
