数学建模插值法_第1页
数学建模插值法_第2页
数学建模插值法_第3页
数学建模插值法_第4页
数学建模插值法_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 插值法插值法-5-4-3-2-1012345-0.500.511.52问题n一水库上游河段降暴雨,根据预报测算上游流入水库的流量为一水库上游河段降暴雨,根据预报测算上游流入水库的流量为Q(tQ(t) (10) (102 2立方米立方米/ /秒秒) ) : t (时时) 8 12 16 24 30 44 48 56 60 Q(t) 36 54 78 92 101 35 25 16 13 通过这个预报值,估计通过这个预报值,估计14 14 和和 20 20 时上游流入水库的流量时上游流入水库的流量. .n在一天在一天24小时内小时内, 从零点开始每间隔从零点开始每间隔2小时测得的环境温度为小时测

2、得的环境温度为(摄摄氏度氏度) n 12,9,9,10,18,24,28,27,25,20,18,15,13n推测在每一分钟时的温度推测在每一分钟时的温度.x0.40.50.60.70.8lnx-0.916291-0.693147-0.510826-0.356675-0.223144给定数据表:计算ln(0.54)的值.一、问题的提出 在生产和实验中,关于函数f(x),经常存在两种情况:(1)其表达式不便于计算;(2)无表达式, 而只有函数在给定点的函数值,怎样计算其它点的函数值?xx0 x1x2xnyy0y1y2yn二、问题的解决两种方法:(1)函数插值插值;(2)曲线拟合拟合 三、插值法

3、定义:定义:当精确函数当精确函数 y = f(x) 非常复杂非常复杂或或未知时未知时,在一系,在一系列节点列节点 x0 xn 处处测得测得函数值函数值 y0 = f(x0), ,yn = f(xn), 由此构造一个由此构造一个简单易算简单易算的近似函数的近似函数 p(x) f(x),满足条件,满足条件 p(xi) = f(xi) (i = 0, n)- 插值条件插值条件 这里的这里的 p(x) 称为称为f(x) 的的插值函数;插值函数; 构造插值函数的方法为构造插值函数的方法为插值法插值法。 当 p(x)为多项式时,我们称p(x)为插值多项式插值多项式;构造插值多项式的方法称为多项式插值法多项

4、式插值法.多项式插值法包含:n拉格朗日插值 n牛顿插值 n三次埃尔米特插值法n分段线性插值n分段三次埃尔米特插值法n三次样条插值1、 拉格朗日插值公式()定义对给定的n+1个节点x0 , x1,x2,xn及对应的函数值y0 , y1,y2,yn,构造一个n次插值多项式:即为拉格朗日插值公式拉格朗日插值公式,其中)(0 xlyyknkk)()()()()()()(110110nkkkkkknkkkxxxxxxxxxxxxxxxxxl插值基函插值基函数数(2)拉格朗日插值的matlab实现function y=lagrange(x0,y0,x) % x0插值节点, y0插值节点处的函数值,x要计算

5、函数值的点;n=length(x0); %计算x0的长度m=length(x); %计算x的长度for i=1:m s=0;z=x(i); nfor k=1:nn p=1.0;n for j=1:nn if j=knp=p*(z-x0(j)/(x0(k)-x0(j); n%计算插值基函数n endn endn s=p*y0(k)+s;nendny(i)=s; %计算在x(i)处的函数值(拉格朗日)nend(3) 函数的调用给定数据表:用lagrange插值公式计算clearx0=0.4:0.1:0.8;y0=log(x0);x=0.54;lagrange(x0,y0,x)ln(0.54)的函数

6、值nans =n -0.6161x0.40.50.60.70.8lnx-0.916291-0.693147-0.510826-0.356675-0.223144(4)练习x1.12.33.95.1y3.8874.2764.6512.117用lagrange插值公式计算x=2.101,4.234处的函数值。2、牛顿插值法牛顿插值公式:Nn(x)=f(x0)+fx0,x1(x-x0)+fx0,x1,x2,xn(x-x0)(x-x1)(x-xn)其中: fx0,x1 一阶差商 fx0,x1,x2,xn n阶差商n注:牛顿插值法与拉格朗日插值法,同一个多项式,不同的表达方式,但是计算量不一样,牛顿插值

7、法的计算量小。n这两种方法在MATLAB 中没有现成的命令和函数,因为它们存在龙格现象。牛顿插值法的matlab实现function Y=newpoly(x,y,X) %牛顿插值 n=length(x); D=zeros(n); D(:,1)=y; for j=2:n %计算差商矩阵 for k=j:n D(k,j)=(D(k,j-1)-D(k-1,j-1)/(x(k)-x(k-j+1); end end C=D(n,n); for k=(n-1):-1:1 %构造插值多项式 C=conv(C,poly(x(k); m=length(C); C(m)=C(m)+D(k,k); end Y=po

8、lyval(C,X);龙格现象 Runge在上个世纪初发现: 在-5,5上用n+1个等距节点作n次插值多项式Pn(x),当在n时,插值多项式Pn(x)在区间中部趋于f(x)=1/(1+x2) ,但对于3.63x5的x,Pn(x)严重发散。用图形分析问题。 for n=10:2:20 %从10等份到20等份x0=-5:10/n:5; %插值节点y0=1./(1+x0.2); %插值节点处的精确函数值x=-5:0.1:5; %要进行计算函数值的点y=lagrange(x0,y0,x); %调用函数计算x点的函数值 plot(x0,y0,*,x,1./(1+x.2),r,x,y) %绘制图形paus

9、e %等待,按任意键endnfor n=4:2:10 %从4等份到10等份nx0=-5:10/n:5; %插值节点ny0=1./(1+x0.2); %插值节点处的精确函数值nx=-5:0.1:5; %要进行计算函数值的点ny=lagrange(x0,y0,x); %调用函数计算x点的函数值 nplot(x0,y0,b-*,x,1./(1+x.2),r,x,y,k) %绘制图形npause %等待,按任意键nend3、分段低次插值法(1)分段线性插值 定义: 已知n+1个不同节点x0,x1,xn ,构造分段多项式I(x),使之满足l I(x)在a,b上连续;l I(xk)=yk;l I(x)在x

10、i,xi+1上是一次多项式; I(x)=,11111kkkkkkkkkkxxxxxxxyxxxxy(2)分段三次埃尔米特插值法定义:已知n+1个不同节点x0,x1,xn ,构造分段多项式I(x),使之满足:l I(xk)=yk, I(xk)=yk, ;l I(x)在xi,xi+1上是三次次多项式。4、三次样条插值法 对于给定n+1个不同节点x0,x1,xn及函数值y0,y1,yn, 其中a=x0 x1xn=b,构造三次样条插值函数S(x)。 S(x)称为三次样条函数时需满足:l S(x)在a,b上二阶导数连续;l S(xk)=yk (k=0,1,n);l 每个子区间xk,xk+1上S(x)是三

11、次多项式(k=0,1,n)。四、插值法的matlab实现 命令:interp1(x0,y0,x,method) 其中:x0:插值节点; y0:插值节点处的函数值; x:要计算函数值的点; method: l i n e a r :分段线性插值;:分段线性插值; c u b i c :分段三次埃尔米特插值; s p l i n e :三次样条插值。五、插值法的应用n1、一水库上游河段降暴雨,根据预报测算上游流入水库的流量为一水库上游河段降暴雨,根据预报测算上游流入水库的流量为Q(tQ(t) ) (10(102 2立方米立方米/ /秒秒) ) : t (时时) 8 12 16 24 30 44 4

12、8 56 60 Q(t) 36 54 78 92 101 35 25 16 13 通过这个预报值,分别用不同的数值方法插值法来估计通过这个预报值,分别用不同的数值方法插值法来估计14 14 和和2020时上游时上游流入水库的流量,并利用不同的插值方法描绘水流量曲线流入水库的流量,并利用不同的插值方法描绘水流量曲线 。n 程序设计:程序设计:nclear nx0=8,12,16,24,30,44,48,56,60;ny0=36,54,78,92,101,35,25,16,13;nx=14,20;nxx=8:0.1:60;nyl=interp1(x0,y0,x,linear) %分段线性插值法 n

13、yc=interp1(x0,y0,x,cubic) %分段三次埃尔米特插值法nys=interp1(x0,y0,x,spline) %三次样条插值法nxyl=interp1(x0,y0,xx,linear); nxyc=interp1(x0,y0,xx,cubic); nxys=interp1(x0,y0,xx,spline); nplot(x0,y0,*,xx,xyl,r,xx,xyc,k,xx,xys,g)n2、在一天在一天2424小时内小时内, ,从零点开始每间隔从零点开始每间隔2 2小时测得的环境温度为小时测得的环境温度为( (摄氏度摄氏度) ) 12,9,9,10,18,24,28,

14、27,25,20,18,15,13 12,9,9,10,18,24,28,27,25,20,18,15,13推测在每一分钟时的温度推测在每一分钟时的温度. .并利用不同的插值方法描绘温度曲线并利用不同的插值方法描绘温度曲线 。3 3、 下表给出的下表给出的x x、y y数据位于机翼端面的轮廓线上,数据位于机翼端面的轮廓线上,Y1Y1和和Y2Y2分分别对应轮廓的上下线。假设需要得到别对应轮廓的上下线。假设需要得到x x坐标每改变坐标每改变0.10.1时的时的y y坐标,试完成加工所需数据,画出曲线坐标,试完成加工所需数据,画出曲线. .x035791112131415Y101.82.22.73.

15、03.12.92.52.01.6Y201.21.72.02.02.01.81.21.01.6 二维插值二维插值 前面的命令interp1()是一维插值,现实中有很多问题需要二维插值. 二维插值是基于与一维插值同样的基本思想. 二维插值的MATLAB实现 在MATLAB中,二维插值命令常用的有两个, 1、一个是网格节点插值:、一个是网格节点插值: z=interp2(x0,y0,z0,x,y,method) 其中,n z:被插值点处的函数值;n x0,y0,z0:插值节点, x0,y0为向量,z0是矩阵,其列数等于x0的长度,行数等于y0的长度;n x,y:被插值点; interp1(x0,y0

16、,x,method)山体地貌n要在某山区方圆大约27平方公里范围内修建一条公路,从山脚出发经过一个居民区,再到达一个矿区。横向纵向分别每隔400米测量一次,得到一些地点的高程: 山区地貌:山区地貌: 在某山区测得一些地点的高程如下表。平面区域为在某山区测得一些地点的高程如下表。平面区域为 1200=x=4000,1200=y=3600) 试作出该山区的地貌图和等高线图,并对几种插值方法进行比较。试作出该山区的地貌图和等高线图,并对几种插值方法进行比较。 X Y 1200 1600 2000 2400 2800 3200 3600 4000 1200 1130 1250 1280 1230 10

17、40 900 500 700 1600 1320 1450 1420 1400 1300 700 900 850 2000 1390 1500 1500 1400 900 1100 1060 950 2400 1500 1200 1100 1350 1450 1200 1150 1010 2800 1500 1200 1100 1550 1600 1550 1380 1070 3200 1500 1550 1600 1550 1600 1600 1600 1550 3600 1480 1500 1550 1510 1430 1300 1200 980 12004000, 12003600 xy

18、试做出该山区的地貌图,并对几种插值法进行比较.n程序设计:程序设计:nclearnx0=1200:400:4000; ny0=1200:400:3600; nz0=1130 1250 1280 1230 1040 900 500 700;n 1320 1450 1420 1400 1300 700 900 850;n 1390 1500 1500 1400 900 1100 1060 950;n 1500 1200 1100 1350 1450 1200 1150 1010;n 1500 1200 1100 1550 1600 1550 1180 1070;n 1500 1550 1600 1

19、550 1600 1600 1600 1550;n 1480 1500 1550 1510 1430 1300 1200 980;nxi=1200:1:4000; %加密数据点nyi=1200:1:3600; nzil=interp2(x0,y0,z0,xi,yi,linear); %线性插值nzic=interp2(x0,y0,z0,xi,yi,cubic); %三次插值nzis=interp2(x0,y0,z0,xi,yi,spline); %样条插值nsubplot(2,2,1) nmesh(x0,y0,z0)nsubplot(2,2,2) nmesh(xi,yi,zil)nsubplo

20、t(2,2,3) nmesh(xi,yi,zic)nsubplot(2,2,4) nmesh(xi,yi,zis)2、另一个是离散数据节点的插值命令: z=griddata(x0,y0,z0,x,y,method) 其中,n z:被插值点处的函数值;n x0,y0,z0:插值节点, x0,y0,z0均为向量;n x,y:被插值点; method:插值方法,包括: n linear线性插值;n cubic 三次插值;船在该海域会搁浅吗?船在该海域会搁浅吗? 在某海域测得一些点(x,y)处的水深z由下表给出,船的吃水深度为5英尺,在矩形区域(75,200)*(-50,150)里的哪些地方船要避免进入.xyz129 140 103.5 88 185.5 195 1057.5 141.5 23 147 22.5 137.5 85.54 8 6 8 6 8 8xyz157.5 107.5 77 81 162 162 117.5-6.5 -

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论