《拉格朗日插值龙格现象的matlab实现4页》由会员分享,可在线阅读,更多相关《拉格朗日插值龙格现象的matlab实现4页(4页珍藏版)》请在金锄头文库上搜索。
1、拉格朗日插值龙格现象的MATLAB实现姓名:袁宽 学号:201430210065 专业:电气工程题目:对于函数,进行拉格朗日插值。,按等距节点求分段线性插值,把和插值多项式的曲线画在同一张图上进行比较。观察Lagrange插值及数值积分中的分段性插值。f.m:function f= f( x )f=1./(1+x.2);endLagrange.mfunction y=Lagrange(x0,y0,x);n=length(x0);m=length(x);for i=1:m z=x(i); s=0.0; for k=1:n p=1.0; for j=1:n if j=k p=p*(z-x0(j)/
2、(x0(k)-x0(j); end end s=p*y0(k)+s; end y(i)=s;End拉格朗日插值的曲线:x=-5:1:5;y=1./(1+x.2); x0=-5:0.001:5;y0=Lagrange(x,y,x0); y1=1./(1+x0.2); plot(x0,y0,b) hold on plot(x0,y1,r)使用龙格现象观察分段性插值的曲线:syms y x lx;y=1/(1+x2);x0=-5:1:5; y0=zeros(1,length(x0);for i=1:11 x=x0(i); y0(i)=eval(y);endM = -5:0.01:5;y1 = zeros(1,length(M);n = 1;for i=2:11 for x=-5:0.01:5 if x=x0(i-1) lx(1)=y0(i-1)*(x-x0(i)/(x0(i-1)-x0(i); lx(2)=y0(i)*(x-x0(i-1)/(x0(i)-x0(i-1); y1(n) = lx(1)+lx(2); n = n+1; end endend ezplot(y,-5,5)hold onA =-5:0.01:5;plot(A,y1,r);分别运行两个文件后的得到两个图形曲线:拉格朗日插值曲线 分段插值曲线