数值分析第二章MATLAB计算实验报告_第1页
数值分析第二章MATLAB计算实验报告_第2页
数值分析第二章MATLAB计算实验报告_第3页
数值分析第二章MATLAB计算实验报告_第4页
数值分析第二章MATLAB计算实验报告_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数值分析MATLAB计算实验报告姓名 班级 学号 一、实验名称根据给定数据利用MATLAB编程做出4次牛顿插值与三次样条插值的插值函数与被插值函数图形二、实验目的1理解牛顿插值的定义并且编写出与其算法对应的MATLAB程序代码;2了解三次样条插值的构造方法并且编写出与其算法对应的MATLAB程序代码;3体会利用MATLAB软件进行数值计算 。三、实验内容已知函数在下列各点的值为:xi 0.20.40.6 0.8 1 .0 f(xi)0.980.920.810.640.38试用4次牛顿插值多项式P4(x)及三样条函数S(x)(自然边界条件)对数据进行插值。使用Matlab 软件用图给出(xi,y

2、i),xi=0.2+0.08i, i=0,1,11,10,P4(x)及S(x)四、算法描述1.牛顿插值公式:Pn(x)=f(x0)+fx0,x1(x-x0)+fx0,x1,x2(x-x0)(x-x1)+fx0,x1,xn(x-x0)(x-xn-1),当n=4时,将插值点xi及插值点对应的函数值f(xi)带入上式可得4次牛顿插值多项式。2.三次样条插值:使用三弯矩法,令,首先,以(xi,Mi),(xi-1,Mi-1)为结点作线性插值:,其中hi=xi-xi-1紧接着,连续积分两次:再利用插值条件然后利用s(x)在内结点连续的条件求Mi,s(xi-0)=s(xi+0) 得最后,根据三条边界条件,求

3、出的值。 五、程序流程图开始 S=0.0; p=1.0q=1.0;c1=1.0J=2Jnb=poly(X(j-1);q1=conv(q,b);c1=c1*j; q=q1;I=j 是A(i,j)=(A(i,j-1)-A(i-1,j-1)/(X(i)-X(i-j+1)In 是C=A(n,n); b=poly(X(n); q1=conv(q1,b)K=n-1K=k-1;k1 否C=conv(C,poly(X(k); d=length(C); C(d)=C(d)+A(k,k)L(k,:)=poly2sym(C);Q=poly2sym(q1);syms Mwcgs=M*Q/c1; Cw=q1/c1;结束

4、开始lambda(1)=1;A(1,1)=2;A(1,2)=lambda(1)H(1)=X(2)-X(1);mu(1)=1;D(1)=3*(Y(2)-Y(1)K=1knhk=X(k+1)-X(k);H(k+1)=hkH=H(2:n+1)K=1kn lambdak=H(k)/(H(k)+H(k+1); lambda(k+1)=lambdak;muk=1-lambda(k+1);mu(k)=muk;dk=3*(mu(k).*(Y(k+1)-Y(k). /H(k)+(lambda(k+1).*(Y(k+2)D(m)= 3*(Y(m)-Y(m-1)/H(m-1);mu(n)=1; n;H;lambda

5、;mu;Di=1 im-1A(i,i)=2;A(m,m)=2; A(i,i+1)=lambda(i); A(i+1,i)=mu(i); dY=AD;K=2kmsk=Y(k-1)*(H(k-1)-2*X(k-1)+2*x)*(x-X(k)2)/(H(k-1)3)+Y(k)*(H(k-1)+2*X(k)-2*x)*(x-X(k-1)2)/(H(k-1)3)+dY(k-1)*(x-X(k-1)*(x-X(k)2)/(H(k-1)2)+dY(k)*(x-X(k)*(x-X(k-1)2)/(H(k-1)2) 结束六、实验结果绿色:三次样条插值;红色:4次牛顿插值。七、实验结果分析此实验通过牛顿插值多项式

6、及三次样条函数对数据进行插值,得到相应的数据和图像,方便对数据进行分析。从图像中可以看出,三次样条插值函数曲线较牛顿插值函数在插值节点处光滑,插值收敛性好,误差小,使结果更加趋于精确。八、附录(程序)X=0.2 0.4 0.6 0.8 1.0;Y=0.98 0.92 0.81 0.64 0.38;p=Newton_polyfit(X,Y,5);Y2=polyval(p,X);X1=0:0.01:1;Y3=interp1(X,Y,X1,spline);plot(X,Y,o,X,Y2,b,X1,Y3,p)%Y2牛顿插值,Y3三次样条插值functionp=Newton_polyfit(X,Y)%X为拟合自变量%Y为拟合函数值%p为所得的拟合多项式系数format long gr=size(X);n=r(2);%n为要拟合的数据长度M=ones(n,n);M(:,1)=Y;for i=2:nfor j=i:nM(j,i)=(M(j,i-1)-M(j-1,i-1)/(X(j)-X(j-i+1);endendM

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论