MATLAB实验-6 MATLAB插值和拟合实验.docVIP

  • 7
  • 0
  • 约6.46千字
  • 约 6页
  • 2017-08-19 发布于河南
  • 举报
MATLAB实验-6 MATLAB插值和拟合实验

新乡学院 数学与信息科学系实验报告 实验名称 插值与拟合 所属课程 数学软件与实验 实验类型 综合型实验 专 业 信息与计算科学 班 级 2011级1班 学 号 11111021012 姓 名 李欢丽 指导教师 朱耀生 一、实验概述 【实验目的】 学会用一维插值函数yi=interp1(xo,yo,x,’menthod’)求出函数在插值点处的函数值,和用二维函数plot()作图。用二维插值函数zi=interp2(x0,y0,z0,x,y,’method’)求其在网格节点数据的插值,和用三维函数surfc()作图. 【实验原理】 1,一维插值函数yi=interp1(xo,yo,x,’menthod’),yi被插值点处的函数值,xo,yo插值节点,x被插值点,nearest最邻近插值,linear线性插值,spline三次样条插值,cubic立方插值,缺省时,为分段线性插值. 2,二维作图函数plot(x,y),x,y都是向量时,则以x中元素为横坐标,y中元素为纵坐标,且x,y长度相同。x,y都是矩阵,x列与y列结合,绘制多条平面曲线,且必同大小。 3,用作网格节点数据的插值zi=interp2(x0,y0,z0,x,y,’method’),zi为被插值点的函数值,x0,y0,z0点,x,y被插值点,’method’中’nearest’为最邻近差值,’linear’为双线性插值,’cubic’为双三次插值,缺省时为双线性插值。 4,网格生成函数[X,Y]meshgrid(x,y),x,y为给定的向量,X,Y是网格划分后得到的网格矩阵绘制三维曲面图;三维曲面绘制函数surfc(x,y,z) 【实验环境】 MatlabR2010b 二、实验内容 问题1 对函数,x?[-5,5],分别用分段线性插值和三次样条插值作插值(其中插值节点不少于20),并分别作出每种插值方法的误差曲线. 1.分析问题 通过一维插值函数yi=interp1(xo,yo,x,’menthod’)求出函数在插值点处的函数值,然后用二维函数plot()作图。 2.问题求解 function y=lagrange(x0,y0,x) % x0插值节点, y0插值节点处的函数值,x要计算函数值的点; n=length(x0); %计算x0的长度 m=length(x); %计算x的长度 for i=1:m s=0;z=x(i); for k=1:n p=1.0; for j=1:n if j~=k p=p*(z-x0(j))/(x0(k)-x0(j)); %计算插值基函数 end end s=p*y0(k)+s; end y(i)=s; %计算在x(i)处的函数值(拉格朗日) end x0=-5:0.5:5; y0=1./(1+x0.^2); x=-5:0.1:5; y=1./(1+x.^2); y1=lagrange(x0,y0,x); z1=y1-y; plot(x,y1,k+)%拉格朗日插值作图 hold on plot(x,z1,k+)%拉格朗日下的误差曲线 y2=interp1(x0,y0,x); hold on plot(x,y2,r)%分段线性插值作图 z2=y2-y; plot(x,z2,r)%分段线性插值下的误差曲线 y3=interp1(x0,y0,x,spline); plot(x,y3,m.)%三次样条插值作图 hold on z3=y3-y; plot(x,z3)%三次样条插值下的误差曲线 hold off axis([-5 5 0 1]) 3.结果 4.结论及分析 经过多次试验可推知分析无误。 问题2 山区地貌图 在某山区(平面区域(0,2800)′(0,2400)内,单位:米)测得一些地点的高程(单位:米)如表1,试作出该山区的地貌图. 表1 2400 2000 1600 1200 800 400 0 1430 1450 1470 1320 1280 1200 1080 940 1450 1480 1500 155

文档评论(0)

1亿VIP精品文档

相关文档