数值分析实验报告二插值

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

实验报告实验报告课程名称:数值分析课题名称:比较不同插值方法的稳定性及运算量专业:勘查技术与工程姓名:郭飞班级:061132班完成日期:2015年11月10日姓名郭飞评分《数值分析》实验报告实验报告一、实验名称比较牛顿插值拉格朗日插值分段埃尔米特以及三次样条插值四种插值方法的稳定性以及运算量。二、实验目的(1)培养编程与上机调试能力(2)比较牛顿插值拉格朗日插值分段埃尔米特以及三次样条插值四种插值方法的稳定性以及运算量。三、实验要求利用matlab编写算法,比较四种插值方法的优劣性。四、实验原理用多项式近似逼近被差值函数,选用一些特殊点近似求得五、实验题目比较四种种算法得出结论六、实验步骤()利用Matlab编程牛顿插值拉格朗日插值分段埃尔米特差值算法(3)利用MATLAB程序自带的三次样条算法七、实验整体流程图或算法八、程序及其运行结果(一)拉格朗日差值function[result,Ln]=lagelangri(X,Y,x0)《数值分析》实验报告if(length(X)~=length(Y))disp('²åÖµ½Úµã¸öÊýÓë½ÚµãÖµ¸öÊý²»Í¬£¬ÇëÖØÐÂÊäÈ룡');return;endsymsxl;n=length(X);Ln=0;fori=1:nl=1;forj=1:nifi~=jl=l*(x-X(j))/(X(i)-X(j));endendLn=Ln+l*Y(i);endLn=simplify(Ln)result=subs(Ln,x,5)2,3,4ans=2ans=3ans=4x=[123]x=123Unt159led4Ln=x+3result=8ans=8Unt159led4《数值分析》实验报告Ln=x+3result=8ans=8(二)牛顿差值function[result,Nn]=niudun(X,Y,a)if(length(X)~=length(Y))disp('²åÖµ½Úµã¸öÊýÓë½ÚµãÖµ¸öÊý²»Í¬£¬ÇëÖØÐÂÊäÈ룡');return;endsymsxNn;w=1;n=length(X);Nn=0;juncha(:,1)=Y';forj=2:nm=diff(juncha(:,j-1));fork=1:(j-1)juncha(:,j)=diff(juncha(:,j-1));fori=1:(n-j+1)juncha(i,j)=juncha(i,j)/(X(i+j-1)-X(i));endendforj=1:nNn=Nn+juncha(1,j)*w;w=w*(x-X(j));endNn=simplify(Nn)result=subs(Nn,'x',a)《数值分析》实验报告end(三)艾尔米特差值functionf=Hermite(x,y,y_1,x0)symst;f=0.0;if(length(x)==length(y))if(length(y)==length(y_1))n=length(x);elsedisp();return;endelsedisp(');return;endfori=1:nh=1.0;a=0.0;forj=1:nif(j~=i)h=h*(t-x(j))^2/((x(i)-x(j))^2);a=a+1/((x(i)-x(j)));endendf=f+h*((x(i)-t)*(2*a*y(i)-y_1(i))+y(i));if(i==n)if(nargin==4)f=subs(f,'t',x0);elsef=vpa(f,6);endendend...................................................................x=[0:pi/2:3*pi];y=[4543454];y_1=[10-1010-1];x0=[0:0.01:3*pi];y0=Hermite(x,y,y_1,x0);plot(x0,y0,'--r');《数值分析》实验报告holdonplot(x0,4+sin(x0));title('艾尔米特插值对比');(四)三次样条插x=[0:pi/2:3*pi];y=[4543454];x0=[0:0.01:3*pi];y0=spline(x,y,x0);plot(x0,y0,'r');holdonplot(x0,4+sin(x0));title('三次样条插值结果对比');《数值分析》实验报告节点光滑性较好,也有误差九、实验结果分析根据以上四种算法可知艾尔米特插值和三次样条插值的稳定性要好于牛顿插值和拉格朗日插值,在以后的运用中应以后两种插值为主。十、实验体会不同的算法会有不同的结果,在运用时要注意各种方法的特点,看到底应该用哪种算法合适,并且还可以通过程序自行研究算法,进行对比,以提高编程能力,并且matlab这种编译工具有着很重要的作用,很多函数我们可以直接调用,这样对我们的学习和研究起到很大的帮助,在以后学习中要注意多应用此软件,会有很多收获。《数值分析》实验报告

1 / 8
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功