实验 2.1 多项式差值的振荡现象
一、实验内容
设区间 [-1,1]上函数
f (x)
1
,考虑区间 [-1,1]的一个等距划分,分点为
2
1 25x
n
1
2i
l (x)
.其中,
x
i
1
,i=0,1,2,...,n,则拉格朗日插值多项式为
L
n
2
i
n
i0
1 25x
i
l
i
(x),i=0,1,2,...,n 是 Lagrange 插值基函数.
1) 选择不断增大的分点数目 n=2,3,...,画出原函数 f(x)及插值多项式函数 L
n
(x)
在[-1,1]上的图像,比较并分析实验结果.
x
2) 选择其他的函数,例如定义在区间[-5,5]上的函数
h(x)
,
g(x) arctan x
,
4
1 x
重复上述的实验看其结果如何.
二、实验程序
1.主程序
function chapter2
promps={'
请选择试验函数,若选
f(x)
,请输入
f
,若选好
h(x)
,请输入
h
,若选
g(x)
,请输入
g
:
'};
result=inputdlg(promps,'charpt 2',1,{'f'});
Nb_f=char(result);
if(Nb_f~='f'&&Nb_f~='h'&&Nb_f~='g')
errordlg('
试验函数选择错误!
');
return;
end
result=inputdlg({'
请输入插值多项式的次数
N
:
'},'charpt_2',1,{'10'});
Nd=str2num(char(result));
if(Nd<1)
errordlg('
插值多项式的次数输入错误!
');
return;
end
switch Nb_f
case'f'
f=inline('1./(1+25*x.^2)');a=-1;b=1;
case'h'
f=inline('x./(1+x.^4)');a=-5;b=5;
case'g'
f=inline('atan(x)');a=-5;b=5;
end
x0=linspace(a,b,Nd+1);y0=feval(f,x0);
x=a:0.1:b;y=Lagrange(x0,y0,x);
clf;
评论0
最新资源