实验9.docx

上传人:b****5 文档编号:8642142 上传时间:2023-02-01 格式:DOCX 页数:11 大小:2.61MB
下载 相关 举报
实验9.docx_第1页
第1页 / 共11页
实验9.docx_第2页
第2页 / 共11页
实验9.docx_第3页
第3页 / 共11页
实验9.docx_第4页
第4页 / 共11页
实验9.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

实验9.docx

《实验9.docx》由会员分享,可在线阅读,更多相关《实验9.docx(11页珍藏版)》请在冰豆网上搜索。

实验9.docx

实验9

matlab插值方法

实验内容

1.利用以下一些具体函数,考察分段线性插值、三次样条插值和拉格朗日多项式插值等三种插值方法的差异。

注意:

适当选取节点及插值点的个数;比较时可以采用插值点的函数值与真实函数值的差异,或采用两个函数之间的某种距离。

1)

,x[-5,5];2)sinx,x[0,2];3)cos10x,x[0,2].

拉格朗日插值法的m文件:

functionyi=Lagrange(x,y,xi)

n=length(x);m=length(y);

ifn~=m

error('插值点与其函数值个数不等');

return;

end

yi=zeros(size(xi));

fork=1:

n

w=ones(size(xi));

forj=[1:

k-1k+1:

n]

ifabs(x(k)-x(j))

error('插值点必须互异');

return;

end

w=(xi-x(j))/(x(k)-x(j)).*w;

end

yi=yi+w*y(k);

end

(1)

>>x=-5:

5;y=1./(1+x.^2);xi=-5:

0.1:

5;

>>y1=interp1(x,y,xi,'linear');plot(x,y,'*',xi,y1),holdon

>>y2=spline(x,y,xi);plot(xi,y2,'r'),holdon

>>y3=Lagrange(x,y,xi);plot(xi,y3,':

'),holdon

(2)

>>x=0:

2*pi;y=sin(x);xi=0:

0.1:

2*pi;

>>y1=interp1(x,y,xi,'linear');plot(x,y,'o',xi,y1),holdon

>>y2=spline(x,y,xi);plot(xi,y2,'r'),holdon

>>y3=Lagrange(x,y,xi);plot(xi,y3,':

'),holdon

(3)

>>x=0:

2*pi;y=(cos(x)).^10;xi=0:

0.1:

2*pi;

>>y1=interp1(x,y,xi,'linear');plot(x,y,'o',xi,y1),holdon

>>y2=spline(x,y,xi);plot(xi,y2,'r'),holdon

>>y3=Lagrange(x,y,xi);plot(xi,y3,':

')

2.对于二维插值的几种方法:

最邻近插值、分片线性插值、双线性插值、三次插值等,利用如下函数进行插值计算,观察其插值效果变化,得出什么结论?

1)

,参数p=1/2000~1/200;采样步长为:

t=4ms~4s;x=5~25m.

>>t=linspace(0.004,4,10);x=linspace(5,25,10);[t,x]=meshgrid(t,x);p=1/400;w=1;f=sin(w*(t-p.*x);

>>ti=linspace(0.004,4,100);xi=linspace(5,25,100);[t1,x1]=meshgrid(ti,xi);

>>f1=interp2(t,x,f,t1,x1,'nearest');mesh(t1,x1,f1)

>>f2=interp2(t,x,f,t1,x1,'linear');mesh(t1,x1,f2)

>>f3=interp2(t,x,f,t1,x1,'cubic');mesh(t1,x1,f3)

2)

参数=1~2;x,y[1,1]。

=3/2

>>x=linspace(-1,1,10);y=linspace(-1,1,10);[x,y]=meshgrid(x,y);

>>z=3/10+sin((16/15)*x-3/2)+(sin((16/15)*x-3/2))^2+sin((16/15)*y-3/2)+(sin((16/15)*y-3/2))^2;

>>xi=linspace(-1,1,40);yi=linspace(-1,1,40);[x1,y1]=meshgrid(xi,yi);

>>z1=interp2(x,y,z,x1,y1,'nearest');mesh(x1,y1,z1)

>>z2=interp2(x,y,z,x1,y1,'linear');mesh(x1,y1,z2)

>>z3=interp2(x,y,z,x1,y1,'cubic');mesh(x1,y1,z3)

3)将2)中的函数推广到三维情形,进行同样的处理,体会高维插值的运用。

3.轮船的甲板成近似半椭圆面形,为了得到甲板的面积。

首先测量得到横向最大相间8.534米;然后等间距地测得纵向高度,自左向右分别为:

0.914,5.060,7.772,8.717,9.083,9.144,9.083,8.992,8.687,7.376,2.073,

计算甲板的面积。

>>x=linspace(0,8.534,11);

>>y=[0.914,5.060,7.772,8.717,9.083,9.144,9.083,8.992,8.687,7.376,2.073];

>>xi=linspace(0,8.534,100);yi=spline(x,y,xi);area=sum((xi

(2)-xi

(1))*yi)

area=

65.4017

4.物体受水平方向外力作用,在水平直线上运动。

测得位移与受力如表7.1

表7.1

X

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1.0

F

20

21

21

20

19

18.5

18.0

13.5

9

4.5

0

求(a)物体从位移为0到0.4所做的功;

(b)位移为0.4时的速度是多少?

>>x=0:

0.1:

0.4;y=[20,21,21,20,19];xi=0:

0.001:

0.4;yi=spline(x,y,xi);W=sum(xi.*yi)

W=

1.6167e+003

5.火车行驶的路程、速度数据如表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=(1000/60).*[0,10,18,25,29,32,20,11,5,2,0];

>>ti=0:

0.1:

20;vi=spline(t,v,ti);s=sum(0.1*vi)

s=

5.1065e+003

6.确定地球与金星之间的距离

天文学家在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=18:

2:

30;s=[9.9617724,9.9543645,9.9468069,9.9390950,9.9312245,9.9231915,9.9149925];

>>t1=spline(s,t,9.9351799)

t1=

25.0000

7.日照时间分布表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.9,67.2,67.1,50.5,32.0,33.6,36.6,46.8,52.3,62.0,64.1,71.2];

>>xi=1:

1/30:

12;yi=spline(x,y,xi);plot(x,y,'*',xi,yi),gridon

8.山区地貌图在某山区(平面区域(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=0:

400:

2800;y=0:

400:

2400;xi=0:

40:

2800;yi=0:

40:

2400;

z=[1180,1320,1450,1420,1400,1300,700,900;1230,1390,1500,1500,1400,900,1100,1060;

1270,1500,1200,1100,1350,1450,1200,1150;1370,1500,1200,1100,1550,1600,1550,1380;

1460,1500,1550,1600,1550,1600,1600,1600;1450,1480,1500,1550,1510,1430,1300,1200;

1430,1450,1470,1320,1280,1200,1080,940];

>>[xi,yi]=meshgrid(xi,yi);zi=interp2(x,y,z,xi,yi,'spline');

>>mesh(xi,yi,zi)

>>[c,h]=contour(xi,yi,zi,[0:

100:

1600]);clabel(c,h)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1