【清华】6.5_实验III-插值与数值积分

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Y2
0
1.2 1.7 2.0 2.1 2.0 1.8 1.2 1.0 1.6
【问题分析】 给定的数据点是有限的,要想确定更多的数据,就要运用插值方法。而加工断面的面积,
则应通过数值积分分别求出上下轮廓线对 x 轴围成的面积,然后作差求得。
【问题解答】 运用插值方法,程序如下:
%题目中给的节点数据 x0=[0,3:2:11,12:15]; y1=[0,1.8,2.2,2.7,3.0,3.1,2.9,2.5,2.0,1.6]; y2=[0,1.2,1.7,2.0,2.1,2.0,1.8,1.2,1.0,1.6];
y3 0.2384 0.1961 0.1589 0.1266 0.0989 0.0757 0.0566 0.0416 0.0304 0.0227 0.0183
根据数据作图如下(共 4 条曲线):
图 1.1
从上图看出,三种插值方法对于原函数的偏差都不是很大,相比之下,三次样条插值的 精确度略高于其他两种并且更加光滑。计算及作图结果说明插值方法是有效可行的。
y2 0.8230 0.8584 0.8938 0.9292 0.9646 1.0000 0.9646 0.9292 0.8938 0.8584
y3 0.8507 0.9005 0.9418 0.9732 0.9930 1.0000 0.9930 0.9732 0.9418 0.9005
x
0.4 0.48 0.56 0.64 0.72 0.8 0.88 0.96 1.04 1.12
2.3
1.3800 1.5874 0.9200 0.9719
2.4
1.4400 1.6229 0.9600 1.0063
2.5
1.5000 1.6565 1.0000 1.0401
2.6
1.5600 1.6884 1.0400 1.0732
2.7
1.6200 1.7185 1.0800 1.1058
plot(x,y3,'g');hold off;
gtext('黑色-原函数');
gtext('红色-拉格朗日插值');
gtext('蓝色-分段线性插值');
gtext('绿色-三次样条插值');
xlabel('X','Fontsize',18); ylabel('Y','Fontsize',18); 输出数据如表 1.1 所示:
1.8
1.0800 1.3778 0.7200 0.7905
1.9
1.1400 1.4244 0.7600 0.8280
2.0
1.2000 1.4685 0.8000 0.8649
2.1
1.2600 1.5104 0.8400 0.9012
2.2
1.3200 1.5499 0.8800 0.9368
3.8
1.9600 1.9708 1.4000 1.4258
3.9
1.9800 1.9894 1.4250 1.4515
4.0
2.0000 2.0076 1.4500 1.4767
4.1
2.0200 2.0258 1.4750 1.5014
4.2
2.0400 2.0439 1.5000 1.5255
%分段上轮廓线 %分段下轮廓线 %样条上轮廓线 %样条下轮廓线
表 2.2 详细加工数据
x
Y1(分段 Y1(三次 Y2(分段 Y2(三次 线性) 样条) 线性) 样条)
0.0
0.0000 0.0000 0.0000 0.0000
0.1
0.0600 0.1089 0.0400 0.0499
0.2
0.1200 0.2134 0.0800 0.0990
y1 0.2402 0.1986 0.1616 0.1284 0.0980 0.0700 0.0441 0.0217 0.0057 0.0016 0.0183
y2 0.2629 0.2209 0.1789 0.1369 0.1019 0.0880 0.0740 0.0601 0.0462 0.0322 0.0183
0.8
0.4800 0.7545 0.3200 0.3788
0.9
0.5400 0.8314 0.3600 0.4230
1.0
0.6000 0.9047 0.4000 0.4665
1.1
0.6600 0.9747 0.4400 0.5094
1.2
0.7200 1.0413 0.4800 0.5515
2.8
1.6800 1.7471 1.1200 1.1378
2.9
1.7400 1.7742 1.1600 1.1692
3.0
1.8000 1.8000 1.2000 1.2000
3.1
1.8200 1.8245 1.2250 1.2302
3.2
1.8400 1.8480 1.2500 1.2599
y1=lagr(x0,y0,x);
%拉格朗日插值结果
y2=interp1(x0,y0,x); %分段线性插值结果
y3=spline(x0,y0,x);
%三次样条插值结果
plot(x,y,'k');hold on;
plot(x,y1,'r');hold on;
plot(x,y2,'b');hold on;
0.3
0.1800 0.3137 0.1200 0.1474
0.4
0.2400 0.4097 0.1600 0.1951
0.5
0.3000 0.5018 0.2000 0.2421
0.6
0.3600 0.5898 0.2400 0.2884
0.7
0.4200 0.6740 0.2800 0.3340
x
-0.4 -0.32 -0.24 -0.16 -0.08 0
0.08 0.16 0.24 0.32
y 0.8521 0.9027 0.9440 0.9747 0.9936 1.0000 0.9936 0.9747 0.9440 0.9027
y1 0.8524 0.9030 0.9443 0.9749 0.9937 1.0000 0.9937 0.9749 0.9443 0.9030
4.3
2.0600 2.0620 1.5250 1.5491
4.4
2.0800 2.0803 1.5500 1.5722
y 0.8521 0.7942 0.7308 0.6639 0.5955 0.5273 0.4610 0.3979 0.3391 0.2853
y1 0.8524 0.7943 0.7306 0.6633 0.5945 0.5261 0.4600 0.3974 0.3396 0.2872
y2 0.8230 0.7877 0.7295 0.6637 0.5980 0.5323 0.4665 0.4008 0.3469 0.3049
3.3
1.8600 1.8704 1.2750 1.2889
3.4
1.8800 1.8918 1.3000 1.3174
3.5
1.9000 1.9125 1.3250 1.3454
3.6
1.9200 1.9325 1.3500 1.3727
3.7
1.9400 1.9519 1.3750 1.3995
y3 0.0183 0.0227 0.0304 0.0416 0.0566 0.0757 0.0989 0.1266 0.1589 0.1961
x

-1.2 -1.12 -1.04 -0.96 -0.88 -0.8 -0.72 -0.64 -0.56 -0.48
y 0.2369 0.2853 0.3391 0.3979 0.4610 0.5273 0.5955 0.6639 0.7308 0.7942
y1 0.2402 0.2872 0.3396 0.3974 0.4600 0.5261 0.5945 0.6633 0.7306 0.7943
y2 0.2629 0.3049 0.3469 0.4008 0.4665 0.5323 0.5980 0.6637 0.7295 0.7877
y3 0.2384 0.2860 0.3392 0.3980 0.4618 0.5289 0.5973 0.6655 0.7316 0.7939
由于插值点的个数比较多,也就是相应的节点数 n 比较小,故不采用拉格朗日插值。下 面用分段线性与三次样条两种插值方法:
%确定步长为 0.1 x=0:0.1:15; z1=interp1(x0,y1,x); z2=interp1(x0,y2,x); w1=spline(x0,y1,x); w2=spline(x0,y2,x); a=[x',z1',w1',z2',w2']; 得到如下数据:
1.3
0.7800 1.1047 0.5200 0.5930
1.4
0.8400 1.1651 0.5600 0.6338
1.5
0.9000 1.2225 0.6000 0.6739
1.6
0.9600 1.2770 0.6400 0.7134
1.7
1.0200 1.3287 0.6800 0.7523
表 1.1(1) 给定节点,n=9
x0
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
y0 0.0183 0.1054 0.3679 0.7788 1.0000 0.7788 0.3679 0.1054 0.0183
表 1.1(2) 插值点,m=51
x
-2 -1.92 -1.84 -1.76 -1.68 -1.6 -1.52 -1.44 -1.36 -1.28
『实验内容』
一、问题 1(4): 选择一些函数,在 n 个节点上(n 不要太大,如 5~11)用拉格朗日、分段线性、三次
样条三种插值方法,计算 m 个插值点的函数值(m 要适中,如 50~100)。通过数值和图形 输出,将三种插值结果与精确值进行比较。适当增加 n,再作比较,由此作初步分析。函数:
y exp(x2 ),2 x 2 。
y 0.0183 0.0251 0.0339 0.0452 0.0595 0.0773 0.0992 0.1257 0.1573 0.1943
y1 0.0183 0.0016 0.0057 0.0217 0.0441 0.0700 0.0980 0.1284 0.1616 0.1986
y2 0.0183 0.0322 0.0462 0.0601 0.0740 0.0880 0.1019 0.1369 0.1789 0.2209
【问题解答】 取 9 个节点,即以-2 为首项,公差为 0.5 的等差数列。所求插值点设为 51 个,即以-2
为首项,公差为 0.08 的等差数列。
原函数计算及插值计算如下:
程序: %给定节点 x0=-2:0.5:2; y0=exp(-x.^2) ; %插值点 x=-2:0.08:2; %原函数值 y=exp(-x.^2);
若取 n 为 41,即插值点是以-2 为首项,公差为 0.1 的等差数列,同样方法得到的图如 下(数据省略不再打出):
图 1.2
可以看出,4 条曲线几乎重合在了一起。根据以上的数据及曲线可以得到如下结论: 一般地,当节点数目越大时,运用三种插值方法的任一种,其精确度都可以大大提高(这 里暂不考虑龙格等情况)。因此,当给定 n 个节点,而所求插值点的数目不是很大时,用插 值方法可以保证很高的精确性。
二、问题 10: 表 2.1 中给出的 x,y 数据位于机翼断面的轮廓线上,Y1 和 Y2 分别对应轮廓的上下线。
假设需要得到 x 坐标每改变 0.1 时的 y 坐标。试完成加工所需数据,画出曲线,求加工断面 的面积。
表 2.1 机翼断面轮廓线上的数据
x
0
3
5
7
9
11
12
13
14
15
Y1
0
1.8 2.2 2.7 3.0 3.1 2.9 2.5 2.0 1.6
实验 III 插值与数值积分
化工系 分 7 陈龙 2007011832
『实验目的』
1.掌握用 MATLAB 计算拉格朗日、分段线性、三次样条三种插值的方法,改变节点 的数目,对三种插值结果进行初步分析;
2.掌握用 MATLAB 及梯形公式、辛普森公式计算数值积分; 3.通过实例学习用插值和数值积分解决实际问题。
y3 0.8507 0.7939 0.7316 0.6655 0.5973 0.5289 0.4618 0.3980 0.3392 0.2860
x
1.2 1.28 1.36 1.44 1.52 1.6 1.68 1.76 1.84 1.92
2
y 0.2369 0.1943 0.1573 0.1257 0.0992 0.0773 0.0595 0.0452 0.0339 0.0251 0.0183
相关文档
最新文档