学院:信息工程学院
2009 年 5 月
数值计算方法实验
实验一 采用拉格朗日方法计算插值
一、 实验目的:
1. 掌握多项式插值的概念、存在唯一性;
2. 能够熟练地应用拉格朗日方法计算插值,并完成插值程序的设计和调试。
二、 实验内容:
构造拉格朗日插值多项式 ( )p x 逼近
( )
f x
3
x ,要求:
(1) 取节点 0
x , 1 1
x 求线性插值多项式 1( )
p x ;
1
(2) 取节点 0
x , 1
x , 2
x 求抛物插值多项式 2( )
p x ;
1
0
1
(3) 取节点 0
x , 1
x , 2
x , 3
x 求三次插值多项式 3( )
p x ;
1
0
1
2
(4) 分别求 1(1.3)
p
、 2(1.3)
p
、 3(1.3)
p
的值,并与精确值相比较。
三、 实验程序及结果:
实验程序如下:
新建 M 文件 ,编写 lagrange 函数如下 :
function q = lagrange(x,y)
n= length(x);
s=0;
for k=1:n
p=1;
for j=1:n
if j~=k
p=p*(1.3-x(j))/(x(k)-x(j));
2
数值计算方法实验
end
end
s=
s + p*y(k);
end
end
q=s;
在命令窗口中,键入
>> x=[-1 1];
>> y=[-1 1];
>> lagrange(x,y)
ans =
1.3000
>> x=[-1 0 1];
>> y=[-1 0 1];
>> lagrange(x,y)
ans =
1.3000
>> x=[-1 0 1 2];
>> y=[-1 0 1 8];
>> lagrange(x,y)
ans =
2.1970
3
数值计算方法实验
实验结果分析:
1(1.3)
p
= 1.3000
p
2(1.3)
= 1.3000
3(1.3)
p
= 2.1970
显然 , 三次插值与精确值最接近.
4
数值计算方法实验
实验二 采用埃特金方法计算插值
一、 实验目的:
1. 进一步掌握多项式插值的概念;
2. 能够熟练地应用埃特金方法计算插值,并完成插值程序的设计和调试。
二、 实验内容:
设 ( )
f x
+
2 sin(
x
/ 6),
其中 为弧度。取节点为 0
x
x , 1
x - , 2
0.75
1
x ,
0.5
x , 4
3
0.25
x , 5
x
0
0.25
, 6
x , 7
0.5
x
0.75
, 8
x ,用埃特金方法求
1
f
(0.793)
的近似值,并与真实结果相比较。
三、 实验程序及结果:
实验程序如下:
新建 M 文件:
x=[-1,-0.75,-0.5,-0.25,0,0.25,0.5,0.75,1];
y=2+sin(pi/6*x);
t=0.793;
m=length(x);
p=zeros(m,m);
for i=1:m
p(i,1)=y(i)
end
for i=2:m
for j=i:m
p(j,i)=p(i-1,i-1)*(t-x(j))/(x(i-1)-x(j))+p(j,i-1)*(t-x(i-
1))/(x(j)-x(i-1))
end
end
5
数值计算方法实验
p(m,m)
运行 M 文件,于是在命令窗口中,得到如下结果:
p =
Columns 1 through 7
1.5000
1.6173
1.7412
1.8695
2.0000
2.1305
2.2588
2.3827
2.5000
0
2.3414
2.3649
2.3833
2.3965
2.4044
2.4070
2.4044
2.3965
0
0
2.4863
2.4707
2.4548
2.4387
2.4224
2.4062
2.3900
0
0
0
2.4054
2.4047
2.4041
2.4037
2.4034
2.4033
0
0
0
0
2.4024
2.4027
2.4030
2.4033
2.4036
0
0
0
0
0
2.4034
2.4034
2.4034
2.4034
0
0
0
0
0
0
2.4034
2.4034
2.4034
Columns 8 through 9
0
0
0
0
0
0
0
2.4034
2.4034
0
0
0
0
0
0
0
0
2.4034
6
数值计算方法实验
ans =
2.4034
实验结果分析:
f
(0.793)
的近似值= 2.4034
真实值=2.0072
误差较大,这可能和正弦函数的特性有关.
7
数值计算方法实验
实验三 采用复化柯特斯公式计算数值积分
一、 实验目的:
1.掌握牛顿-柯特斯公式的基本原理及推导,了解复化求积法的计算步骤;
2.能够熟练地应用复化梯形公式、复化新甫生求积公式和复化柯特斯求积公式
计算数值积分,并完成积分程序的设计和调试。
二、 实验内容:
设 ( )
f x
+
2 sin(2
x
/8),
其中 为弧度。取节点为 0
x
x , 1
x
0
0.125
, 2
x
0.25
,
x
3
0.375
, 4
x , 5
0.5
x
0.625
, 6
x
0.75
, 7
x
0.875
, 8
x ,分别用复化梯
1
1
0
形公式、复化新甫生法和复化柯特斯方法求积分
I
三、 实验程序及结果:
实验程序如下:
新建 M 文件:
x=0:0.125:1;
y=2+sin(0.25*pi*x.^0.5);
h=1/8;
n=length(x);
% 复化梯形求积公式
a=[1 2*ones(1,n-2) 1];
I=h/2*sum(a.*y);
I
%复化Simpson公式
N=(n-1)/2;h=(x(n)-x(1))/N;a=zeros(1,n);
for k=1:N
a(2*k-1)+1;a(2*k)=a(2*k)+4;
a(2*k+1)=a(2*k+1)+1;
end
s=h/6*sum(a.*y);
( )
f x dx
的近似值。
8