资源描述:
《数值分析第一次实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数值分析上机实验报告题目:插值法学生姓名学院名称计算机学院专业计算机科学与技术时间2计算机学院2012级数值分析实验报告16计算机学院2012级数值分析实验报告一.实验目的1、掌握三种插值方法:牛顿多项式插值,三次样条插值,拉格朗日插值2、学会matlab提供的插值函数的使用方法二.实验内容1、已知函数在下列各点的值为xi0.20.40.60.81.0f(xi)0.980.920.810.640.38试用4次牛顿插值多项式P4(x)及三次样条函数S(x)(自然边界条件)对数据进行插值。用图给出{(xi,yi),xi=0.2+0.08i,i
2、=0,1,11,10},P4(x)及S(x)。2、在区间[-1,1]上分别取n=10,20用两组等距节点对龙格函数f(x)=1/(1+25x2)作多项式插值及三次样条插值,对每个n值,分别画出插值函数及f(x)的图形。3、下列数据点的插值x01491625364964y012345678可以得到平方根函数的近似,在区间[0,64]上作图。16计算机学院2012级数值分析实验报告(1)用这9个点作8次多项式插值L8(x)(2)用三次样条(第一边界条件)程序求S(x)从得到结果看在[0,64]上,哪个插值更精确,在区间[0,1]上。两种插值哪
3、个更精确?三.实现方法1.进入matlab开发环境2.依据算法编写代码3.调试程序4.运行程序5.(1)牛顿插值多项式:Pn=f(x0)+f[x0,x1](x-x0)+f[x0,x1,x2](x-x0)(x-x1)+…+f[x0,x1,…,xn](x-x0)(x-xn-1)三次样条插值:用三次样条插值函数由题目分析知,要求各点的M值:6.实验代码如下:(1)牛顿插值多项式程序:functionvarargout=newton(varargin)clear,clcx=[0.20.40.60.81.0];fx=[0.980.920.810.6
4、40.38];newtonchzh(x,fx);16计算机学院2012级数值分析实验报告functionnewtonchzh(x,fx)n=length(x);FF=ones(n,n);FF(:,1)=fx';fori=2:nforj=i:nFF(j,i)=(FF(j,i-1)-FF(j-1,i-1))/(x(j)-x(j-i+1));endendfori=1:nfprintf('%4.2f',x(i));forj=1:ifprintf('%10.5f',FF(i,j));endfprintf('');end三次样条插值程序:func
5、tionsanciyangtiao(n,s,t)x=[0.20.40.60.81.0];y=[0.980.920.810.640.38];n=5forj=1:1:n-1h(j)=x(j+1)-x(j);endforj=2:1:n-1r(j)=h(j)/(h(j)+h(j-1));endforj=1:1:n-1u(j)=1-r(j);endforj=1:1:n-1f(j)=(y(j+1)-y(j))/h(j);endforj=2:1:n-1d(j)=6*(f(j)-f(j-1))/(h(j-1)+h(j));endd(1)=0d(n)=0a
6、=zeros(n,n);forj=1:1:na(j,j)=2;endr(1)=0;u(n)=0;forj=1:1:n-1a(j+1,j)=u(j+1);a(j,j+1)=r(j);16计算机学院2012级数值分析实验报告endb=inv(a)m=b*d'p=zeros(n-1,4);forj=1:1:n-1p(j,1)=m(j)/(6*h(j));p(j,2)=m(j+1)/(6*h(j));p(j,3)=(y(j)-m(j)*(h(j)^2/6))/h(j);p(j,4)=(y(j+1)-m(j+1)*(h(j)^2/6))/h(j);
7、endend图程序:x=[0.20.40.60.81.0];y=[0.980.920.810.640.38];plot(x,y)holdonfori=1:1:5y(i)=0.98-0.3*(x(i)-0.2)-0.62500*(x(i)-0.2)*(x(i)-0.4)-0.20833*(x(i)-0.2)*(x(i)-0.4)*(x(i)-0.6)-0.52083*(x(i)-0.2)*(x(i)-0.4)*(x(i)-0.6)*(x(i)-0.8)endk=[011011]x0=0.2+0.08*kfori=1:1:4y0(i)=0.9
8、8-0.3*(x(i)-0.2)-0.62500*(x(i)-0.2)*(x(i)-0.4)-0.20833*(x(i)-0.2)*(x(i)-0.4)*(x(i)-0.6)-0.52083*