- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数值分析实验题和程序
实验2?1多项式插值的振荡现象
问题提出:考虑在一个固定的区间上用插值逼近一个函数。显然 Lagrange插值屮使用的节点越多,插值多项式的次数就越高。我们白然关 心插值多项的次数增加时,心(x)是否也更加靠近被逼近的函数。Runge
给岀的一个例子是极著名并富有启发性的。设区间[-1, 1]上函数
1 + 25x~
实验内容:考虑区间[-1,1]的一个等距划分,分点为
2j
Xj = — I —, i = 0,1,2, ? ? ?, az
n
则拉格朗LI插值多项式为
L” (x)=工
/=0
其屮,1(X), i = 0,1,2,…,斤是n次Lagrange插值基函数。
实验要求:
选择不断增大的分点数目n = 2,3,???曲出原函数/(X)及插值多 项式函数心(力在[-1, 1]上的图像,比较并分析实验结果。
选择其他的函数,例如定义在区间[-5, 5]上的函数
X
h(x) = , g (x) = arctan x
i + x
重复上述的实验,看其结果如何。
]、实验MATLAB程序
function charpt2_l
%数值实验2.1:多项式插值的志荡现象
%输入:函数式选择,插值节点数
%输出:拟合函数及原函数的图形
promps={选择实验函数,若选f(x),输入f,若选h(x),输入h,若选g(x),输 入 g:};
result=inputdlg(promps/charp t2_ 1, {));
Nb_f=char( result);
if(Nb_f~=T Nb_f?=h Nb_f~=g)
errordlgC实验函数选择错谋! ’); return;
end
result^nputdlgCCii/输入第一幅图插值节点数N=2: J,charp【2_l;l,{2});
NdO=str2nurn(char(result));
if(NdO2)
errordlgC节点数输入错谋! ’); return;
end
result=inputdlg(「请输入两幅图间插值节点数滥值D: J ,charpt2_ 1 ; 1, {T});
D=str2num(char(result));
switch Nb_f
case f
f=inline(l./(l +25*x.A2),);a=-l;b=l; case
f=inline(x./(1 +x.A4));a=-5;b=5; case ,g,
f=inline(atan(x));a=-5;b=5;
end
for i=1:6
Nd=NdO+(i-l).*D;
xO=linspace(a,b,Nd+1);
yO=feval(f,xO);
x=a:().01:b;
y=Lagrange(xO,yO,x);
subplot(2,3J);
plot(x(),y(),*);
hold on;
fplot(f,[a,b];k-);
hold on;
plot(x,y;b-*);
s1 = x (节点数N=:
s2=num2str(Nd);
s3=*) *;
s=[sl s2 s3J;
xlabel(s);
ylabel(y=f(x) - and y=Ln(x)-);
end
%Lagrange插值函数
function y=Lagrange(xO,yO,x)
n=length(xO);
m=length(x);
for i=1:m
z=x(i);
s=0.0;
tor k=l:n
p=l.o;
for j=1:n
p=p*(z-xO(j))/(xO(k)-xO(j)); end end s=s+p*yO(k);
end
y(i)=s;
end
2、实验结果
??oc)ulsx pu0?
XSUIL pu??
?02
-05 0 05
x〈节
??s5l pu??s虽
45 0 05
x (节点?N?6
占)OIL pue ? Sv
-1
-05 0 05
x (节点WN-7
图1-1函数f(x)对应09 Lagrange插值函数图形(节点数2~7)
丄m)5lpu??SJL
-05 0 OS
x (节点?N = 8)
2
-O 丄I05L pu??(X=L
-04
4)5 0 05
x N = 9
05
丄 MlrlL pum?(n
-0.5 0 05 1
x 节点数N = 10)
06
x (节点数N = 11)
4,2
08
丄 wt???({
-1 -05 0 05
x (节点? N = 12)
得到的拟合插值多项对于函数h(x),当选择的分点数bl不断增大时, 式函数图形如图1-3和图1-4所示。
得到的拟合插值多项
x (节点数N二2
?08
x《节点数N = 3〉
06
04
?0 2
?0 4
-0 6
丄m)5l pu??s工
0 5
x (节
文档评论(0)