实验题目1 Lagrange插值Word文档格式.docx
- 文档编号:22544793
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:18
- 大小:61.20KB
实验题目1 Lagrange插值Word文档格式.docx
《实验题目1 Lagrange插值Word文档格式.docx》由会员分享,可在线阅读,更多相关《实验题目1 Lagrange插值Word文档格式.docx(18页珍藏版)》请在冰豆网上搜索。
1./(1+x.^2)'
),-5,5,5,0.75:
4.75);
将区间[-5,5]分为了5段
计算插值的点xi=
0.75001.75002.75003.75004.7500
计算出的插值yi=
0.90540.52580.0096-0.3568-0.1595
插值点处函数值yFact=
0.64000.24620.11680.06640.0424
计算误差err=
-0.2654-0.27960.10720.42320.2020
N=10时,程序运行如下:
),-5,5,10,0.75:
将区间[-5,5]分为了10段
0.69070.23300.11220.1084-0.2360
-0.05070.01320.0045-0.04200.2785
N=20时,程序运行如下:
),-5,5,20,0.75:
将区间[-5,5]分为了20段
0.64130.24910.12820.19036.4150
-0.0013-0.0029-0.0114-0.1239-6.3726
问题1
(2)
exp(x)'
),-1,1,5,[-0.95-0.050.050.95]);
将区间[-1,1]分为了5段
-0.9500-0.05000.05000.9500
0.38630.95131.05122.5863
0.38670.95121.05132.5857
1.0e-003*
0.4471-0.10510.1069-0.6129
),-1,1,10,[-0.95-0.050.050.95]);
将区间[-1,1]分为了10段
1.0e-008*
-0.3126-0.0055-0.0055-0.3714
),-1,1,20,[-0.95-0.050.050.95]);
将区间[-1,1]分为了20段
1.0e-012*
0.73390-0.0002-0.5671
问题2
(1)
0.51360.99780.99780.5136
0.52560.99750.99750.5256
0.0121-0.0002-0.00020.0121
0.52430.99750.99750.5243
0.00140.00000.00000.0014
1.0e-005*
-0.70230.00000.0000-0.7023
实验2
(2)
),-5,5,5,[-4.75-0.250.254.75]);
-4.7500-0.25000.25004.7500
-1.93211.42750.5882123.7146
0.00870.77881.2840115.5843
1.9408-0.64870.6958-8.1303
),-5,5,10,[-4.75-0.250.254.75]);
0.04250.77961.2848115.6630
-0.0339-0.0008-0.0008-0.0788
),-5,5,20,[-4.75-0.250.254.75]);
1.0e-007*
-0.09140.00000.0000-0.1434
问题3
(1)
N=5时,程序运行如下:
TestLag2(inline('
0.52540.99780.99780.5254
0.2071-0.3011-0.30110.2071
N=10时,程序运行如下:
0.52550.99720.99720.5255
0.15620.26030.26030.1562
N=20时,程序运行如下:
0.23180.23810.23810.2318
问题3
(2)
0.38670.95141.05112.5857
0.0079-0.13170.1339-0.0108
1.0e-009*
-0.5045-0.4791-0.4835-0.5994
1.0e-015*
0.16650.3331-0.4441-0.8882
问题4
(1)程序运行如下:
TestLag3([149],[550115185])
550115185
2.2667-20.2333-171.9000-492.7333
2.23617.071110.723813.6015
-0.030627.3044182.6238506.3348
(2)程序运行如下:
TestLag3([364964],[550115185])
3.11587.071810.167010.0388
-0.8797-0.00070.55683.5626
(3)程序运行如下:
TestLag3([100121144],[550115185])
4.43917.285010.722813.5357
-2.2030-0.21390.00100.0658
(4)程序运行如下:
TestLag3([169196225],[550115185])
5.49727.800110.800513.6006
-3.2611-0.7291-0.07670.0009
实验所用函数
functionyh=LagInterp(x,y,xh)
%LagInterp计算拉格朗日插值
%
%Synopsis:
yh=LagInterp(x,y,xh)
%Input:
x=一维向量,将要做插值x的值
%y=一维向量,将要做插值y的值
%xh=数值或一维向量,计算插值的位置,支持计算一列xh的值
%Output:
yh=数值或一维向量,通过计算插值的位置算出的插值
ifmin(size(x))>
1|min(size(y))>
1%判断x,y是否为一维向量
error('
x,ymustbevectors!
'
);
elseiflength(x)~=length(y)%判断x,y是否有同样多的元素
xandymustagree!
end
yh=zeros(size(xh));
L=zeros(length(x)-1);
forj=1:
length(xh)
fori=1:
length(x)
xCal=x;
xCal(i)=[];
%prod(xh(j)-xCal)/prod(x(i)-xCal)为拉格朗日基函数
L(i)=prod(xh(j)-xCal)/prod(x(i)-xCal);
yh(j)=yh(j)+L(i)*y(i);
%yh=sum(L(i)*y(i))
end
functionTestLag(fx,a,b,n,xi)
%TestLag实验题目11,2
TestLag(fun,a,b,n,xi)
fx=用来验证插值计算准确率的函数
%a,b=节点选取上下限
%n=多项式次数,固定区间[-a,b]分段数
%xi=要计算插值的点
x=linspace(a,b,n);
y=feval(fx,x);
yi=LagInterp(x,y,xi);
yFact=feval(fx,xi);
err=yFact-yi;
fprintf('
将区间[%d,%d]分为了%d段\n'
a,b,n);
计算插值的点xi=\n'
disp(xi);
计算出的插值yi=\n'
disp(yi);
插值点处函数值yFact=\n'
disp(yFact);
计算误差err=\n'
disp(err);
functionTestLag2(fx,a,b,n,xi)
%TestLag2实验题目13
TestLag2(fun,a,b,n,xi)
x=zeros(1,n);
fork=1:
n
x(k)=cos((2*k-1)*pi/(2*n));
%构造非等距节点
functionTestLag3(x,xi)
%TestLag3实验题目14
TestLag3(fun,a,b,n,xi)
x=构造Lagrange插值的节点
fx=inline('
sqrt(x)'
思考题
1.拉格朗日插值多项式的次数并不是越大越好,根据定义,插值式可以在节点处与实际函数匹配,但不能保证在节点之间很好的逼近实际函数。
这个现象就是多项式摆动——Runge现象,有时多项式摆动可以通过谨慎选择基础函数的取样点来减小。
通常采用分段插值可以很好的消除多项式摆动现象。
2.在分段段数相同的情况下,插值区间越大,误差越大。
原因是大部分情况下,相对于比较大的区间,函数在比较小的区间上的函数值变化较缓和,因此即使出现摆动也不会偏离原函数太大。
3.第一问中已经提到多项式摆动可以通过谨慎选择基础函数的取样点来减小。
我们来看下
的分布和
的图像:
可以看出,
的分布是两端密集中间稀疏,
的趋势是两边陡峭中间平缓,函数变化陡峭时节点增多正好可以增加插值的准确性。
4.一般来说,内插时插值收敛于实际函数,一旦超出内插的范围,插值函数会发散,且离插值区间越远外推误差越大。
使用不用的插值方法在同一点外推的值也会相差很多,这说明外推本身就存在很大的不确定性。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验题目1 Lagrange插值 实验 题目 Lagrange