插值和拟合.

上传人:我** 文档编号:115949059 上传时间:2019-11-15 格式:DOCX 页数:18 大小:227.67KB
返回 下载 相关 举报
插值和拟合._第1页
第1页 / 共18页
插值和拟合._第2页
第2页 / 共18页
插值和拟合._第3页
第3页 / 共18页
插值和拟合._第4页
第4页 / 共18页
插值和拟合._第5页
第5页 / 共18页
点击查看更多>>
资源描述

《插值和拟合.》由会员分享,可在线阅读,更多相关《插值和拟合.(18页珍藏版)》请在金锄头文库上搜索。

1、 插值和拟合的定义1.定义: 若x为自变量,y为因变量,则x与y之间有一个确定的函数表达式f(x),现实中,这个函数关系式很难确定,运用逼近的方法处理:取得一组数据点(xi,yi,i=1,2,3.n),构造一个简单函数p(x)作为f(x)的近似表达式,且p(x)满足: p(xi)=f(xi)=yi i=1,2,3,4.n这就是插值问题。 若不要求p(x)通过所有数据点,而是要求曲线在某种准则下整体与数据点接近,例如运用最小二乘法得到p(x),这种问题称为拟合。2插值类型:一维插值是指对一维函数y=f(x)进行插值,二维插值就是对二维函数y=f(x,y)进行插值.3. 插值的matlab函数及其

2、应用(1) .一维插值:yi=interp1(x,Y,xi,method),对一组节点(x,Y)进行插值,计算插值点xi的函数值。method包括了一下几种类型:Nearest:线性最邻近插值(速度最快,平滑性最差)Linear:线性插值(默认项)(生成效果连续,但是顶点处有坡度变化)Spline:三次样条插值(运行时间较长,插值数据和导数均连续)Pchip:分段三次艾米尔特(hermite)插值Cubic:双三次插值(较高版本的matlab不能运用,v5cubic能够运行)运行的代码及插值效果:clear;clc;x=0:0.2:2;y=(x.2-3*x+5).*exp(-3*x).*sin

3、(x);xi=0:0.03:2;yi_nearest=interp1(x,y,xi,nearest);yi_linear=interp1(x,y,xi,linear);yi_spline=interp1(x,y,xi,spline);yi_pchip=interp1(x,y,xi,pchip);yi_cubic=interp1(x,y,xi,v5cubic);figure;hold on;subplot(2 ,3, 1);plot(x,y,r*);title(已知数据值);subplot(2, 3 ,2);plot(x,y,r*,xi,yi_nearest,b-);title(最邻近插值);s

4、ubplot(2,3,3);plot(x,y,r*,xi,yi_linear,b-);title(线性插值);subplot(2,3,4);plot(x,y,r*,xi,yi_spline,b-);title(三次样条插值);subplot(2,3,5);plot(x,y,r*,xi,yi_pchip,b-);title(分段三次艾尔米特插值);subplot(2,3,6);plot(x,y,r*,xi,yi_cubic,b-);title(三次多项式插值); (2).二维插值:第一类,二维网格数据插值zi=interp2(x,y,z,xi,yi,method),其中x,y为数据采样点,即为真

5、实所测得的数据,返回值为xi,yi的插值函数值。method与一维插值相同。各个方法所得的插值效果和代码如下:clear;clc;x,y=meshgrid(-3:0.25:3);z=peaks(x,y);xi,yi=meshgrid(-3:0.125:3);z1=interp2(x,y,z,xi,yi,linear);z2=interp2(x,y,z,xi,yi,nearest);z3=interp2(x,y,z,xi,yi,spline);z5=interp2(x,y,z,xi,yi,cubic);subplot(2,2,1);mesh(x,y,z);hold on;mesh(xi,yi,z

6、1+15);axis(-3,3,-3,3,-8,25);title(二维网格双线性插值);subplot(2,2,2);mesh(x,y,z);hold on;mesh(xi,yi,z2+15);axis(-3,3,-3,3,-8,25);title(二维网格最邻近插值);subplot(2,2,3);mesh(x,y,z);hold on;mesh(xi,yi,z3+15);axis(-3,3,-3,3,-8,25);title(二维网格样条插值);subplot(2,2,4);mesh(x,y,z);hold on;mesh(xi,yi,z5+15);axis(-3,3,-3,3,-8,2

7、5);title(二维网格双三次插值); 第二类:二维散点数据插值:zi=griddata(x,y,z,xi,yi,method),各个输入值与interp2 的相同,不再赘述。Method为Cubic不能运行,应采用v4方法进行插值。运行代码的效果图如下:clear;clc;rand(seed,0);x=rand(100,1)*4-2;y=rand(100,1)*4-2;z=x.*exp(-x.2-y.2);ti=-2:0.25:2;xi,yi=meshgrid(ti,ti);z1=griddata(x,y,z,xi,yi,linear);z2=griddata(x,y,z,xi,yi,cu

8、bic);z3=griddata(x,y,z,xi,yi,nearest);z4=griddata(x,y,z,xi,yi,v4);subplot(2,2,1);mesh(xi,yi,z1);hold on;title(线性插值);plot3(x,y,z,o);subplot(2,2,2);mesh(xi,yi,z2);hold on;plot3(x,y,z,o);title(三次插值);subplot(2,2,3);mesh(xi,yi,z3);hold on;plot3(x,y,z,o);title(最邻近插值)subplot(2,2,4);mesh(xi,yi,z4);hold on;p

9、lot3(x,y,z,o);title(v4插值);三维插值的matlab函数有interp3,三维数据网格产生的函数为ndgrid。若想详细了解,请参考matlab的help文档。(二).拟合的matlab函数调用(1)多项式拟合:一般多项式拟合的目的是找出一组多项式系数ai(i=1 ,2,3,4.n+1)使得多项式能够较好的拟合数据。调用格式如下:p,s,mu=polyfit(x,y,n),对x,y进行n维多项式最小二乘法拟合,输出结果p为n+1个元素的向量,该向量以维数递减的形式给出拟合多项式系数。s中包括R,df,normr,分别表示对x进行OR分解三角元素,自由度,残差。Mu包含两个

10、元素,分别是标准化处理过程中使用的x的均值和标准差。(2) 非线性最小二乘法假设有一组数据xi,yi,i=1,2,3.n,且已知这组数据满足某一原型函数,其中a为待定系数,最小二乘法的目标就是求出待定系数的值,使得目标函数 为最小。Matlab最优化工具箱中的函数为lsqcurvefit,其调用格式如下:(least squares curve fit)a,jm=lsqcurvefit(fun,a0,x,y)fun为原型函数的matlab表示,M-文件定义的函数或者是inline函数表示。a0为最优化的初值,x,y为原始输入输出向量。调用该函数后返回待定系数向量a以及在此待定系数下的目标函数值

11、jm。(具体的应用过程在例题中展示)函数lsqnonlin,用于进行非线性最小二乘法拟合,调用格式为:(least squares nonlinear)X=lsqnonlin(fun,x0,options)其中,fun为拟合函数,(需要提前建立,含待定系数),x0位迭代初值,options为优化选项,可以缺省。返回值x的各个分量为fun中的待求参数的拟合数值。例题:1. 某城市一天从0点到24点,每个两个小时测得温度如下: 22,21,19, 18 , 20, 24, 27, 32, 31, 28, 26, 23, 22,使用插值方法估计午时三刻的温度。clear;clc;x=0:2:24;y

12、=22,21,19, 18 , 20, 24, 27, 32, 31, 28, 26, 23, 22;xi=0:0.1:24;yi=interp1(x,y,xi,spline);plot(xi,yi,k-);hold on;xlabel(时间/h);ylabel(温度);plot(x,y,*);x0=12.75;y0=interp1(x,y,x0,spline)2. 测得平板表面53的网格点处的温度分别如下: 82 81 80 82 84 79 63 61 65 81 84 84 82 85 86作出平板表面的温度分布曲面clear;clc;x=1:5;y=1:3;z=81 82 80 82

13、84; 79 63 61 65 81; 82 84 82 85 86 ;%mesh(x,y,z);xi=1:0.2:5;xi=xi;%插值的数据应该为一组行向量,一组为列向量yi=1:0.2:3;zi=interp2(x,y,z,xi,yi,cubic);mesh(xi,yi,zi);3. 某海域测得一些点(x,y)的深度z(米)由表给出,在矩形区域(75,200)(-90,150)内画出海底曲面图形,并标识出吃水线为4m,5m的船只禁入区。 x129140103.588185.5195105y7.5141.52314722.5137.585.5z4868688x157.5107.57781162162117.5y-6.5-81356.5-66.584-33.5z9988949clear;clc;x=129 140 103.5 88 185.5 195 105 157.5 107.5 77 81 162 162 117.5;y=7.5 141.5 23 147 22.5 137.5 85.5 -6.5 -81 3 56.5 -66.5 84 -33.5;z=-4 8 6 8 6 8 8 9 9 8 8

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号