插值与拟合的MATLAB实现.doc

插值与拟合的MATLAB实现.doc

ID:28536222

大小:59.50 KB

页数:7页

时间:2018-12-11

插值与拟合的MATLAB实现.doc_第1页
插值与拟合的MATLAB实现.doc_第2页
插值与拟合的MATLAB实现.doc_第3页
插值与拟合的MATLAB实现.doc_第4页
插值与拟合的MATLAB实现.doc_第5页
资源描述:

《插值与拟合的MATLAB实现.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、3.3插值与拟合的MATLAB实现简单的插值与拟合可以通过手工计算得出,但复杂的只能求助于计算机了。3.3.1线性插值在MATLAB中,一维的线性插值可以用函数interpl来实现。函数interpl的调用格式如下:yi=interpl(x,y,xi),其中yi表示在插值向量xi处的函数值,x与y是数据点。这个函数还有如下两种形式:yi=interpl(y,xi),省略x,x此时为l:N,其中N为向量y的长度。yi=interpl(x,y,xi,method),其中method为指定的插值方法,可取以下凡种:nearest:最近插值。l

2、inear:线性插值。spline:三次样条插值。cubic:三次插值。注意:对于上述的所有的调用格式,都要求向量x为单调。例如:对以下数据点:(2*pi,2),(4*pi,3),(6*pi,5),(8*pi,7),(10*pi,11),(12*pi,13),(14*pi,17)进行插值,求x=pi,6的函数值。>>x=linspace(0,2*pi,8);>>y=[2,3,5,7,11,13,17,19];>>xl=[pi,6];>>yl=interpl(x,y,xl)yl=900001836903.3.2Lagrange插值Lagr

3、ange插值比较常用,是MATLAB中相应的函数,但根据Lagrange插值函数公式,可以用M文件实现:Lagrange.mfunctions=Larange(x,y,x0)%Lagrange插值,x与y为已知的插值点及其函数值,x0为需要求的插值点的值nx=length(x);ny=length(y);ifnx~=nywaming(‘向量x与y的长度应该相同’)return;endm=length(x0);%按照公式,对需要求的插值点向量x0的元素进行计算fori=l:mt=0.0;forj=l:nxu=1.0;fork=l:nxif

4、k~=ju=j*(x0(i)-x(k))/(x(j)-(k));endendt=t+u*y(j);ends(i)=t;endreturn例如:对(l,2),(2,4),(3,6),(4,8),(5,10)进行Lagrange插值,求x=23,3.7的函数值。利用上面的M函数,可进行Lagrange插值运算。>>x=[l,2,3,45];>>y=[2,4,7,14,20];>>Lagrange(x,y,[2.33.7])ans=4.503811.62283.3.3Newton插值同样,MATLAB中也没有专门用于Newton插值的函数。据

5、牛顿插值函数可以编写出Newton插值的M文件。Newton.mfunctions=Newton(x,y,xo,nn)%Newton插值,x与y为已知的插值点及其函数值%x0为需要求的插值点的横坐标。nn为Newton插值多项式的次数,即%nn次Newton插值多项式nx=length(x);ny=length(y);ifnx~=nywaming(‘向量x与y的长度应该相同’)returnendm=length(x0);%按照公式,对需要求的插值点x0的每个元素进行计算fori=l:mt=0.0’j=1;yy=y;kk=j;%求差商wh

6、ile(kk<=nn)kk=kk+l;fork=kk:nxyy(k)=yy(k)-yy(kk-l))/(x(k)-x(kk-l));endend%求差商结果t=yy(l);fork=2:nnu=1.0;jj=1;while(jj>x=[12481632];>>y=[212

7、325324868];>>Newton(x,y,20,4)ans=27.28573.3.4三次样条插值前面介绍过的函数interpl可以实现三次样条插值,在这里主要介绍另一个函数spline。spline函数的调用形式主要有两种:(l)yy=spline(x,y,xx):利用三次样条插值法寻找在插值点xx处的插值函数值yy插值函数根据输入参数x与y的关系得来。此函数作用等同于interpl(x,y,xx,'spline').(2)pp=spline(x,y):返回三次样条插值的分段多项式形式的向量,以后可以使用函数ppval来进行插值计

8、算。例如:在某处测得海洋不同深度处水温如下表所示。深度m44671495014221634水温ºC7.044.283.402.542.13试用样条插值求在深度500米、100米、1500米处的水温。解:>>

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。