MATLAB的差值与曲线拟合.ppt
《MATLAB的差值与曲线拟合.ppt》由会员分享,可在线阅读,更多相关《MATLAB的差值与曲线拟合.ppt(54页珍藏版)》请在三一办公上搜索。
1、MATLAB的差值与曲线拟合,MATLAB数据处理与应用2011-2012学年选修课,第八讲,王文健,Tribology Research Institute SOUTHWEST JIAOTONG UNIVERSITY,2,主要内容,插值运算曲线拟合分段函数拉格拉日插值牛顿插值Hermite插值,Tribology Research Institute SOUTHWEST JIAOTONG UNIVERSITY,3,MATLAB插值与曲线拟合,简介把试验数据绘制成图是点状分布,将这些点练成曲线,然后转化为有意义的数学函数,才能对数据做对比和分析上述过程涉及插值(interpolation)和曲
2、线拟合(curve-fitting)插值过程中认为数据是准确的,求取描述点之间的数据曲线拟合中,假定已知曲线的规律,做曲线的最佳逼近,不需要经过所有数据点,Tribology Research Institute SOUTHWEST JIAOTONG UNIVERSITY,4,MATLAB插值与曲线拟合,插值计算假设试验得到一组数据形态为:f(xk);其中k=1,2,n;且x1=axn=c如果某些点xi不属于上述的xi,但是a=xi=c,要估计这些点的函数值f(xi)就需要做插值运算根据原始数据所描述的函数的复杂程度,存在有:一维插值二维插值Spline插值,Tribology Researc
3、h Institute SOUTHWEST JIAOTONG UNIVERSITY,5,MATLAB插值与曲线拟合,一维插值一维插值可以是线性的,也可以是三次多项式或spline插值一维线性插值是假设两个数据中的变化为线性关系,因此可由已知点的坐标(f(a),a)和(f(c),c)计算b点的函数值f(b)一维线性插值是最简单的插值,适用范围很小可用较为复杂的三次多项式或spline来近似找到原函数f(x),Tribology Research Institute SOUTHWEST JIAOTONG UNIVERSITY,6,MATLAB插值与曲线拟合,一维插值MATLAB的一维插值函数为in
4、terp1(a,c,b)和interp1(a,c,b,method)其中a,c为已知数据,而b为要插值的数据点,method为预先设定的插值方法,分别为线性(linear)、三次多项式(cubic)和spline如果数据的变化较大,以spline插值所形成的曲线最为平滑,效果最好三次多项式所得的曲线平滑度介于linear和spline之间,Tribology Research Institute SOUTHWEST JIAOTONG UNIVERSITY,7,MATLAB插值与曲线拟合,一维插值举例假设汽车引擎在额定转速下温度与时间的测量值关系如下00;120;260;368;477;5110
5、;用一维插值法估计时间为2.6s和4.9s时的温度值。分别用三种方法估计其值x=0 1 2 3 4 5;y=0 20 60 68 77 110;y1=interp1(x,y,2.6)y2=interp1(x,y,2.6 4.9)y3=interp1(x,y,2.6 4.9,cubic)y3=interp1(x,y,2.6 4.9,spline),Tribology Research Institute SOUTHWEST JIAOTONG UNIVERSITY,8,MATLAB插值与曲线拟合,一维插值举例画出插值后的时间与温度变化曲线图。t=0 1 2 2.6 3 4 4.9 5;y1=0 2
6、0 60 64.8 68 77 106.7 110;y2=0 20 60 65.2 68 77 105.6 110;y3=0 20 60 67.3 68 77 105.2 110;plot(t,y1,t,y2,t,y3),Tribology Research Institute SOUTHWEST JIAOTONG UNIVERSITY,9,MATLAB插值与曲线拟合,Tribology Research Institute SOUTHWEST JIAOTONG UNIVERSITY,10,MATLAB插值与曲线拟合,二维插值假设试验所得到的一组数据形态为z=f(xk,yk),期中k=1,2,
7、n;如果某些点(xi,yi)不属于上述点,要估计这些点的函数值f(xi,yi)就需要进行二维擦绘制运算,二维插值相当于二元函数运算MATLAB中二维插值函数是interp2(x,y,z,xi,yi),期中xi,yi为要插值的数据点,x,y,z为已知数据通过设定interp2(x,y,z,xi,yi,method)也可以设定不同的插值方法,有linear、cubic和spline三种,Tribology Research Institute SOUTHWEST JIAOTONG UNIVERSITY,11,MATLAB插值与曲线拟合,二维插值举例假设汽车的引擎转速、温度与时间的测量值关系如下表,
8、估计时间为2.6s和速度为2500r时的温度。,Tribology Research Institute SOUTHWEST JIAOTONG UNIVERSITY,12,MATLAB插值与曲线拟合,二维插值举例应用函数interp2函数分别用linear、cubic、spline来估计时间2.6s和转速2500r的温度值。t=1 2 3 4 5;speed=2000 3000 4000;temp=20 110 176;60 180 220;68 240 349;77 310 450;110 405 503;temp1=interp2(speed,t,temp,2500,2.6)temp2=i
9、nterp2(speed,t,temp,2500,2.6,cubic)temp3=interp2(speed,t,temp,2500,2.6,spline),Tribology Research Institute SOUTHWEST JIAOTONG UNIVERSITY,13,MATLAB插值与曲线拟合,spline插值函数spline有两种应用形式,spline(x,y,xi)和spline(x,y)spline(x,y,xi)与interp1(x,y,xi,spline)效果一样举例x=0 1 2 3 4 5;y=0 20 60 68 77 110;y1=spline(x,y,2.6)
10、y1=spline(x,y,2.6,4.9),Tribology Research Institute SOUTHWEST JIAOTONG UNIVERSITY,14,MATLAB插值与曲线拟合,spline插值举例:在0,10区间上按正弦规律y=sin(x)取10个点yi,再在区间0,10上取41个点,以yi为已知数据,对这41个点做spline插值运算,得到函数值并绘图,比较其值与正弦波偏离程度。x=0:10;y=sin(x);xx=0:0.25:10;yy=spline(x,y,xx);plot(x,y,o,xx,yy,xx,sin(xx);,Tribology Research In
11、stitute SOUTHWEST JIAOTONG UNIVERSITY,15,MATLAB插值与曲线拟合,Tribology Research Institute SOUTHWEST JIAOTONG UNIVERSITY,16,MATLAB插值与曲线拟合,spline插值采用一维线性插值运算x=0:10;y=sin(x);xx=0:0.25:10;yy=interp1(x,y,xx);plot(x,y,o,xx,yy,xx,sin(xx);,Tribology Research Institute SOUTHWEST JIAOTONG UNIVERSITY,17,MATLAB插值与曲线拟
12、合,Tribology Research Institute SOUTHWEST JIAOTONG UNIVERSITY,18,MATLAB插值与曲线拟合,spline插值采用一维三次多项式插值运算x=0:10;y=sin(x);xx=0:0.25:10;yy=interp1(x,y,xx,cubic);plot(x,y,o,xx,yy,xx,sin(xx);,Tribology Research Institute SOUTHWEST JIAOTONG UNIVERSITY,19,MATLAB插值与曲线拟合,Tribology Research Institute SOUTHWEST JIA
13、OTONG UNIVERSITY,20,MATLAB插值与曲线拟合,spline插值向量t=1900:10:1990,p=75.995 91.972 105.711 123.203 131.669 150.697 179.323 203.212 226.505 249.633表示从1900年到1990年人口普查的数字,利用spline插值法预测2000年的人口数,并绘制人口变化趋势图。t=1900:10:1990;p=75.995 91.972 105.711 123.203 131.669 150.697 179.323 203.212 226.505 249.633;y=spline(t,
14、p,2000)plot(t 2000,p y,o),Tribology Research Institute SOUTHWEST JIAOTONG UNIVERSITY,21,MATLAB插值与曲线拟合,Tribology Research Institute SOUTHWEST JIAOTONG UNIVERSITY,22,MATLAB插值与曲线拟合,spline插值画一个圆并在数据点y(:,2),y(:,6)处标上字母o。x=pi*0:0.5:2;y=0 1 0-1 0 1 0;1 0 1 0-1 0 1;pp=spline(x,y);yy=ppval(pp,linspace(0,2*pi
15、,101);%计算分算函数的值plot(yy(1,:),yy(2,:),-b,y(1,2:5),y(2,2:5),or),Tribology Research Institute SOUTHWEST JIAOTONG UNIVERSITY,23,MATLAB插值与曲线拟合,Tribology Research Institute SOUTHWEST JIAOTONG UNIVERSITY,24,MATLAB插值与曲线拟合,曲线拟合曲线拟合(curve-fitting)顾名思义就是用近似的曲线方程来代表一组离散的数据曲线拟合与插值有许多相似之处,二者最大区别再于曲线拟合要找出一个曲线函数式,而插
16、值仅求出与数据点对应的函数值而已曲线拟合运用最小二乘法原理如果拟合的曲线限定为多项式就称为多项式最小二乘法曲线拟合MATLAB提供的曲线拟合有多项式最小二乘拟合、普通最小二乘拟合等,Tribology Research Institute SOUTHWEST JIAOTONG UNIVERSITY,25,MATLAB插值与曲线拟合,线性回归假设有一组数据形态为y=y(x),其中x=0 1 2 3 4 5,y=0 20 60 68 77 110,用一个最简单的方程式来表示这组数据,一阶线性方程式最简单随意假设其方程式为y=20 xx=0 1 2 3 4 5;y=0 20 60 68 77 110
17、;y1=20*xsum_sq=sum(y-y1).2)plot(x,y1,x,y,o),title(Linear estimate),grid,Tribology Research Institute SOUTHWEST JIAOTONG UNIVERSITY,26,MATLAB插值与曲线拟合,Tribology Research Institute SOUTHWEST JIAOTONG UNIVERSITY,27,MATLAB插值与曲线拟合,线性回归从图中看出,所假设的方程与实际数据的差距很大,从理论上讲,误差平方和最小才是代表数据的最佳方程式,以此标准寻找数据方程式的方法称为最小平方误差法
18、或线性回归MATLAB中的polyfit()函数提供了从一阶到高阶多项式的回归运算,语法为coef=polyfit(x,y,n),期中x、y为输入数据,n为多项式的阶数,coef为输出数组,数值为多项式的系数项,Tribology Research Institute SOUTHWEST JIAOTONG UNIVERSITY,28,MATLAB插值与曲线拟合,线性回归假设一组数据x=0 1 2 3 4 5和y=0 20 60 68 77 110,期中y是x的函数,使用最小二乘法建立一阶线性回归方程用polyfit函数求出系数x=0 1 2 3 4 5;y=0 20 60 68 77 110;
19、coef=polyfit(x,y,1),Tribology Research Institute SOUTHWEST JIAOTONG UNIVERSITY,29,MATLAB插值与曲线拟合,线性回归画出方程的直线及x和y的数据点a1=coef(1);a0=coef(2);ybest=a1*x+a0;sum_sq=sum(y-ybest).2)plot(x,ybest,x,y,o);title(Linear regression estimate),grid通过比较发现,最小平方误差法获得的误差平方和要小于y=20 x的值,Tribology Research Institute SOUTHW
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 差值 曲线拟合
链接地址:https://www.31ppt.com/p-5439189.html