资源描述:
《数值分析_插值法》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、第二章插值法2•在区间[-lzl]±分别取0=10,20用两组等距节点对龙哥函数f(x)=l/(l+25*xT)做多项式插值及三次样条插值,对每个n值,分别画出插值函数及f(x)的图形。(1)多项式插值①先建立一个多项式插值的M-file;输入如下的命令(如牛顿插值公式):function[C,D]=newpoly(X,Y)n=length(X);D=zeros(n,n)D(:,1)=Y*forj=2:nfork=j:nD(kJ)=(D(kj-l)-D(k-lJ-l))/(X(k)-X(k-j+l));endendC=D(n,n);fork=(n-l):-l:lC=co
2、nv(C,poly(X(k)))m=length(C);C(m)=C(m)+D(k,k);end②当n二10时,我们在命令窗口中输入以下的命令:clear,elf,holdon;X=-l:0.2:l;Y=1./(1+25*X.A2);[C,D]=newpoly(X,Y);x=-l:0.01:l;y=polyval(C,x);plot(x“X,Y,T);gridon;xp=-l:0.2:l;z=l./(l+25*xp.A2);plot(xp,z;r')得到插值函数和f(x)图形:③当n=20时,我们在命令窗口中输入以下的命令:clear,elf,holdon;X=-l:0
3、.1:l;Y=1./(1+25*X.A2);[C/D]=newpoly(X,Y);x=-l:0.01:l;y=polyval(C,x);plot(x,y,X,Y,T);gridon;xp=-l:0.1:l;z=l./(l+25*xp.A2);plot(xp,z;r')得到插值函数和f(x)图形:(2)三次样条插值①先建立一个多项式插值的M-file;输入如下的命令:functionS=csfit(XXdxO,dxn)N=length(X)-l;H=diff(X);D=diff(Y)./H;A=H(2:N-1);B=2*(H(1:N-1)+H(2:N));C=H(2:N)
4、;U=6*diff(D);B(l)=B(l)-H(l)/2;U(1)=U(1)-3*(D(1));B(N-l)=B(N-l)-H(N)/2;U(N-l)=U(N-l)-3*(-D(N));fork=2:N-ltemp=A(k-l)/B(k-l);B(k)=B(k)-temp*C(k-l);U(k)=U(k)-temp*U(k-l);endM(N)=U(N-1)/B(N-1);fork=N-2:-l:lM(k+l)=(U(k)-C(k)*M(k+2))/B(k);endM(l)=3*(D(l)-dxO)/H(l)-M(2)/2;M(N+l)=3*(dxn-D(N))/H(
5、N)-M(N)/2;fork=0:N-lS(k+l,l)=(M(k+2)-M(k+l))/(6*H(k+l));S(k+l,2)=M(k+l)/2;S(k+l,3)=D(k+l)-H(k+l)*(2*M(k+l)+M(k+2))/6;S(k+l,4)=Y(k+l);end②当n二10时,我们在命令窗口中输入以下的命令:clear,clcX=-l:0.2:l;Y=1./(25*X.A2+1);dx0=0.0739644970414201;dxn=-0.0739644970414201;S=csfit(X,XdxO,dxn)xl=-l:0.01:-0.5;yl=polyva
6、l(S(l,:),xl-X(l));x2=-0.5:0.01:0;y2=polyval(S(2/:),x2-X(2));x3=0:0.01:0.5;y3=polyval(S(3,:),x3-X⑶);x4=0.5:0.01:l;y4=polyval(S(4z:),x4-X⑷);plot(xl,yl,x2,y2,x3,y3,x4,y4,结果如图:②当n二20时,我们在命令窗II中输入以下的命令:clear,clcX=-1:O.1:1;Y=1./(25*X.A2+1);dx0=0.0739644970414201;dxn=-0.0739644970414201;S=csfit
7、(X,XdxO,dxn)xl=-l:0.01:-0.5;yl=polyval(S(l,:),xl-X(l));x2=-0.5:0.01:0;y2=polyval(S(2/:)/x2-X⑵);x3=0:0.01:0.5;y3=polyval(S(3/:),x3-X⑶);x4=0.5:0.01:l;y4=polyval(S(4/:),x4-X⑷);plot(xl,yl,x2zy2,x3,y3,x4,y4,X,X'.')结果如图:第三章函数逼近与快速傅里叶变换2•山实验给岀数据表X0.00.10.20.30.50.81.0y1.00.410.5