数值分析实验_第1页
数值分析实验_第2页
数值分析实验_第3页
数值分析实验_第4页
数值分析实验_第5页
全文预览已结束

下载本文档

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

文档简介

1、精选优质文档-倾情为你奉上实验二 插值法 P50 专业班级:信计131班 姓名:段雨博 学号:一、实验目的1、熟悉MATLAB编程;2、学习插值方法及程序设计算法。二、实验题目1、已知函数在下列各点的值为 0.20.40.60.81.0 0.980.920.810.640.38试用4次牛顿插值多项式及三次样条函数(自然边界条件)对数据进行插值用图给出,及。2、在区间上分别取用两组等距节点对龙格函数作多项式插值及三次样条插值,对每个值,分别画出插值函数及的图形。3、下列数据点的插值 01491625364964012345678可以得到平方根函数的近似,在区间上作图(1)用这9个点作8次多项式插

2、值(2)用三次样条(第一边界条件)程序求从得到结果看在上,哪个插值更精确;在区间上,两种插值哪个更精确?3、 实验原理与理论基础1、拉格朗日差值公式 点斜式 两点式2、 n次插值基函数 3、 牛顿插值多项式4、 三次样条函数若函数且在每个小区间上是三次多项式,其中,是给定节点,则称是节点上的三次样条函数。若在节点上给定函数值并成立则称为三次样条插值函数。5、 三次样条函数的边界条件 (1) (2)4、 实验内容1、 M文件: function p=Newton_Polyfit(X,Y)format long gr=size(X);n=r(2);M=ones(n,n);M(:,1)=Y'

3、for i=2:n for j=i:n M(j,i)=(M(j,i-1)-M(j-1,i-1)/(X(j)-X(j-i+1); endendp0=zeros(1,n-1) M(1,1);p=p0;for i=1:n-1 p1=M(i+1,i+1).*poly(X(1:i); p0=zeros(1,n-i-1) p1; p=p+p0;end3、 M文件: function f=Language(,)%求已知数据点的拉格朗日插值多项式%已知数据点的x坐标向量:x%已知数据点的y坐标向量:y%插值点的x坐标:x0%解得的拉格朗日插值多项式fx=0.0 0.4 0.8 1.2 1.6;y=0 0. 0

4、. 0. 0.;x0=0.3 0.5;syms t l;if(length(x)=length(y) n=length(x);else disp('x,y维数不一样');return;endp=sym(0);for i=1:n l=sym(y(i);for k=1:i-1 l=l*(t-x(k)/(x(i)-x(k);endfor k=i+1:n l=l*(t-x(k)/(x(i)-x(k);end p=p+1;endsimplify(p);f=subs(p,'t',x0);f=vpa(f,6);end 5、 实验结果 1、>> X=0.2 0.4

5、0.6 0.8 1.0;>> Y=0.98 0.92 0.81 0.64 0.38;>> p=Newton_Polyfit(X,Y);>> Y2=polyval(p,X);>> X1=0:0.01;1;>> Y3=interp1(X,Y,X1,'spline');>> plot(X,Y,'o',X,Y2,'r',X1,Y3,'g')图像: 2、>> X=-1:0.01:1;>> Y=1./(1+25*X.2);>> X1=-

6、1:0.2:1;>> Y1=1./(1+25*X1.2);>> Y2=interp1(X1,Y1,X,'linear');>> Y3=interp1(X1,Y1,X,'spline');>> subplot(211)>> plot(X,Y,X,Y2,'r-',X,Y3,'g-')图像:3、>> x=0;1;4;9;16;25;36;49;64;>> y=0:1:8;>> x0=0:0.1:64;>> f=Language(x

7、,y,x0);>> Y=interp1(x,y,x0,'spline');>> Y1=sqrt(x0);>> plot(x0,Y1,x0,f,'g',x0,Y,'r')图像:6、 实验结果分析与小结 1、通过这次实习,我学会了用matlab设计程序并运行绘制出图形。根据已知的点的信息用牛顿插值法、三次样条插值法、拉格朗日插值法等插值方法来求得近似函数,在运行出图形时可以很直观地看出近似函数的精确度哪个更好。使用matlab来处理数学问题确实很方便,使我对matlab的很多功能也有了不少的了解,知道了最基本最常用的术语怎么来表达,同时让我对这几个插值方法的算法更熟悉。 2、不过,使用matlab进行程序设计对我来说确实有点难度,不太会编写函数,特别是涉及到专门的函数,matlab中已有的函数,不太会调用,查一下资料看

温馨提示

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

评论

0/150

提交评论