重庆大学数学实验第五次.docx
《重庆大学数学实验第五次.docx》由会员分享,可在线阅读,更多相关《重庆大学数学实验第五次.docx(17页珍藏版)》请在冰豆网上搜索。
重庆大学数学实验第五次
开课学院、实验室:
DS1422实验时间:
2015年4月10日
课程
名称
数学实验
实验项目
名称
水塔用水量
的估计——插值
实验项目类型
验证
演示
综合
设计
其他
指导
教师
肖剑
成绩
实验目的
[1]了解插值的基本原理
[2]了解拉格朗日插值、线性插值、样条插值的基本思想;
[3]了解三种网格节点数据的插值方法的基本思想;
[4]掌握用MATLAB计算三种一维插值和两种二维插值的方法;
[5]通过范例展现求解实际问题的初步建模过程;
通过自己动手作实验学习如何用插值方法解决实际问题,提高探索和解决问题的能力。
通过撰写实验报告,促使自己提炼思想,按逻辑顺序进行整理,并以他人能领会的方式表达自己思想形成的过程和理由。
提高写作、文字处理、排版等方面的能力。
实验内容
1.编写拉格朗日插值方法的函数M文件;
2.用三种插值方法对已知函数进行插值计算,
通过数值和图形输出,比较它们的效果;
3.针对实际问题,试建立数学模型,并求解。
基础实验
1.一维插值利用以下一些具体函数,考察分段线性插值、三次样条插值和拉格朗日多项式插值等三种插值方法的差异。
1)
,x∈[-5,5];
分段线性插值程序如下:
x=-5:
5;
temps=[1/261/171/101/51/211/21/51/101/171/26];
h=-5:
.1:
5;
t=interp1(x,temps,h)
x1=linspace(-5,5,100);
y1=1./(1+x1.^2);
plot(x,temps,'g',h,t,x1,y1,'r')
title('分段线性插值曲线')
图1
三次样条插值程序如下:
x0=linspace(-5,5,11);
y0=1./(1+x0.^2);
x=linspace(-5,5,100);
y=interp1(x0,y0,x,'spline');
x1=linspace(-5,5,100);
y1=1./(1+x1.^2);
plot(x1,y1,'k',x0,y0,'+',x,y,'r');
图2
拉格朗日多项式插值程序如下:
m=101;
x=-5:
10/(m-1):
5;
y=1./(1+x.^2);z=0*x;
plot(x,z,'r',x,y,'LineWidth',1.5),
gtext('y=1/(1+x^2)'),pause
n=3;
x0=-5:
10/(n-1):
5;
y0=1./(1+x0.^2);
y1=lagr1(x0,y0,x);
holdon,plot(x,y1,'b'),gtext('n=2'),pause,
holdoff
n=5;
x0=-5:
10/(n-1):
5;
y0=1./(1+x0.^2);
y2=lagr1(x0,y0,x);
holdon,plot(x,y2,'b:
'),gtext('n=4'),pause,
holdoff
n=7;
x0=-5:
10/(n-1):
5;
y0=1./(1+x0.^2);
y3=lagr1(x0,y0,x);holdon,
plot(x,y3,'r'),gtext('n=6'),pause,
holdoff
n=9;
x0=-5:
10/(n-1):
5;
y0=1./(1+x0.^2);
y4=lagr1(x0,y0,x);holdon,
plot(x,y4,'r:
'),gtext('n=8'),pause,
holdoff
n=11;
x0=-5:
10/(n-1):
5;
y0=1./(1+x0.^2);
y5=lagr1(x0,y0,x);holdon,
plot(x,y5,'m'),gtext('n=10')
图3
2)sinx,x∈[0,2π];
分段线性插值程序如下:
x=0:
1/2*pi:
2*pi;
temps=[010-10];
h=0:
.1:
2*pi;
t=interp1(x,temps,h);
x1=linspace(0,2*pi,100);
y1=sin(x1);
plot(x,temps,'g',h,t,x1,y1,'r')
title('分段线性插值曲线')
图4
三次样条插值程序如下:
x=linspace(0,2*pi,5);
y=sin(x);
x1=linspace(0,2*pi,100);
y1=interp1(x,y,x1,'spline');
x2=linspace(0,2*pi,100);
y2=sin(x2);
plot(x,y,'+',x1,y1,'k',x2,y2,'y');
图5
拉格朗日多项式插值程序如下:
m=101;
x=0:
10/(m-1):
2*pi;
y=sin(x);z=0*x;
plot(x,z,'r',x,y,'LineWidth',1.5),
gtext('y=sin(x)'),pause
n=3;
x0=-5:
10/(n-1):
5;
y0=sin(x0);
y1=lagr1(x0,y0,x);
holdon,plot(x,y1,'b'),gtext('n=2'),pause,
holdoff
n=5;
x0=-5:
10/(n-1):
5;
y0=sin(x0);
y2=lagr1(x0,y0,x);
holdon,plot(x,y2,'b:
'),gtext('n=4'),pause,
holdoff
n=7;
x0=-5:
10/(n-1):
5;
y0=sin(x0);
y3=lagr1(x0,y0,x);holdon,
plot(x,y3,'r'),gtext('n=6'),pause,
holdoff
n=9;
x0=-5:
10/(n-1):
5;
y0=sin(x0);
y4=lagr1(x0,y0,x);holdon,
plot(x,y4,'r:
'),gtext('n=8'),pause,
holdoff
n=11;
x0=-5:
10/(n-1):
5;
y0=sin(x0);
y5=lagr1(x0,y0,x);holdon,
plot(x,y5,'m'),gtext('n=10')
图6
注意:
适当选取节点及插值点的个数;比较时可以采用插值点的函数值与真实函数值的差异,或采用两个函数之间的某种距离。
2.高维插值对于二维插值的几种方法:
最邻近插值、分片线性插值、双线性插值、三次插值等,利用如下函数进行插值计算,观察其插值效果变化,得出什么结论?
,参数p=1/2000~1/200;采样步长为:
t=4ms~4s;x=5~25m.
程序:
t=linspace(0,4,10);
x=linspace(5,25,10);
[t,x]=meshgrid(t,x);
z=sin((t-1/200.*x)*2);
[t1,x1]=meshgrid(linspace(0,4,100),linspace(5,25,100));
z1=interp2(t,x,z,t1,x1,'cubic');
z2=interp2(t,x,z,t1,x1,'nearest');
z3=interp2(t,x,z,t1,x1,'linear');
mesh(t1,x1,z1);
pause
mesh(t1,x1,z2);
pause
mesh(t1,x1,z3);
三次插值,插值效果变化最好|图7
最邻近插值,插值效果变化最差|图8
线性插值,插值效果变化一般|图9
应用实验(或综合实验)
3.火车行驶的路程、速度数据如表7.2,计算从静止开始20分钟内走过的路程。
表7.2
t(分)
2
4
6
8
10
12
14
16
18
20
v(km/h)
10
18
25
29
32
20
11
5
2
0
t=0:
2:
20;
v=[010182529322011520];
h=0:
0.000001:
20;
x=interp1(t,v,h,'spline');
H=h./60;
z=sum(H.*0.000001)
plot(t,v,'+',h,x,'r')
z=3.3333
图10
4.确定地球与金星之间的距离
天文学家在1914年8月份的7次观测中,测得地球与金星之间距离(单位:
米),并取其常用对数值,与日期的一组历史数据如表7.3。
表7.3
日期(号)
18
20
22
24
26
28
30
距离对数
9.9617724
9.9543645
9.9468069
9.9390950
9.9312245
9.9231915
9.9149925
由此推断何时金星与地球的距离(米)的对数值为9.9351799?
t=[18202224262830];
l=[9.9617729.95436459.94680699.93909509.93122459.92319159.9149925];
h=18:
0.0625:
30;
x=interp1(t,l,h,'spline')
结果:
x=26号1时30分
5日照时间分布表7.4的气象资料是某一地区1985-1998年间不同月份的平均日照时间的观测数据(单位:
小时/月),试分析日照时间的变化规律。
表7.4
月份
1
2
3
4
5
6
7
8
9
10
11
12
日照
80.9
67.2
67.1
50.5
32.0
33.6
36.6
46.8
52.3
62.0
64.1
71.2
程序:
x=1:
12;
y=[80.967.267.750.532.033.636.646.852.362.064.171.2];
x1=linspace(1,12,120);
y1=interp1(x,y,x1,'spline');
plot(x1,y1)
图11
日照时间由1月到12月先减后增。
6.山区地貌图在某山区(平面区域(0,2800)⨯(0,2400)内,单位:
米)测得一些地点的高程(单位:
米)如表7.5,试作出该山区的地貌图和等高线图。
表7.5
2400
2000
1600
1200
800
400
0
1430145014701320128012001080940
14501480150015501510143013001200
14601500155016001550160016001600
13701500120011001550160015501380
12701500120011001350145012001150
1230139015001500140090011001060
118013201450142014001300700900
Y/X
040080012001600200024002800
x=2800:
-400:
0;
y=2400:
-400:
0;
z=[1430145014701320128012001080940;
14501480150015501510143013001200;
14601500155016001550160016001600;
13701500120011001550160015501380;
12701500120011001350145012001150;
1230139015001500140090011001060;
118013201450142014001300700900;
];
figure
(1);
meshz(x,y,z)
xlabel('X'),ylabel('Y'),zlabel('Z')
xi=0:
50:
2800;
yi=0:
50:
2400;
figure
(2)
z1i=interp2(x,y,z,xi,yi','nearest');
surfc(xi,yi,z1i)
xlabel('X'),ylabel('Y'),zlabel('Z')
figure(3)
z2i=interp2(x,y,z,xi,yi');
surfc(xi,yi,z2i)
xlabel('X'),ylabel('Y'),zlabel('Z')
figure(4)
z3i=interp2(x,y,z,xi,yi','cubic');
surfc(xi,yi,z3i)
xlabel('X'),ylabel('Y'),zlabel('Z')
figure(5)
subplot(1,3,1),contour(xi,yi,z1i,10,'r');
subplot(1,3,2),contour(xi,yi,z2i,10,'r');
subplot(1,3,3),contour(xi,yi,z3i,10,'r');
总结与体会
设计记录表格,包括碰到的问题汇总及解决情况
注行距:
选最小值16磅,每一图应有简短确切的题名,连同图号置于图下。
每一表应有简短确切的题名,连同表号置于表上。
图表的题名及其中的文字采用小5号宋体。
公式应该有编号,编号靠右端。
教师签名
年月日
备注:
1、同一章的实验作为一个实验项目,每个实验做完后提交电子稿到服务器的“全校任选课数学实验作业提交”文件夹,文件名为“学院学号姓名实验几”,如“机械20073159张新实验一”。
2、提交的纸质稿要求双面打印,中途提交批改不需要封面,但最后一次需将该课程所有实验项目内页与封面一起装订成册提交。
3、综合实验要求3人合作完成,请在实验报告上注明合作者的姓名。