数值分析论文.doc_第1页
数值分析论文.doc_第2页
数值分析论文.doc_第3页
数值分析论文.doc_第4页
数值分析论文.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

MATLAB实现三次样条差值函数姓名:屈 昊学号:0908020222班级:研 0 9 0 62009年12月6日【摘要】给出了三次样条插值函数的定义以及在三种不同边界条件下的求解过程,并总结了三次样条插值函数的实现流程。此外,简要介绍MATLAB软件的发展历史和三次样条的基本特征,在此基础上编制第一边界条件下的三次样条插值函数程序,并给出运行结果和线条图形。【关键词】三次样条、插值函数、MATLAB【ABSTRACT】Cubic spline interpolation function is defined in this issue. The solving processes based on three diffrent boundary conditions are given. And the flow chart is listed, which fulfil cubic spline interpolation. Besides, the softwares phylogeny of matlab is introduced briefly, so as the fundamental character of cubic spline. Based on all of above, cubic spline interpolation function procedure is programmed under the first boundary condition. At the last, the result and figure are given in this issue.【KEYWORDS】cubic spline、interpolation function、MATLAB一、引言 函数来表示变量间的数量关系广泛应用于各学科领域。但是在实际问题中,往往是通过实验、观测以及计算等方法,得到的是函数在一些点上的函数值。如何通过这些离散的点找出函数的一个满足精度要求且便于计算的近似表达式,是非常必要的。其中通过插值的方法求出函数的近似表达式是极常用的求解方法。 分段低次样条插值虽然计算简单、稳定性好、收敛性有保证且易在电子计算机上实现,但只能保证各小段曲线在连接处的连续性,不能保证整件曲线的光滑性。利用样条插值,既可保持分段低次插值多项式,又可提高插值函数光滑性。故给出分段三次样条插值的构造过程、算法步骤,利用MATLAB软件编写三次样条插值函数通用程序,并通过数值算例证明程序的正确性。二、三次样条函数的定义 给定区间a,b上n+1个节点a=x0x1xn=b及函数f(x)在这些点上的函数值yi,如果函数S(x)满足条件: S(xi)=yi,i=0,1,n; S(x)在每个小区间xi-1,xi上是不超过3次的多项式;S(x)在a,b内具有二阶连续导函数;则称S(x)为f(x)关于剖分a=x0x1xn=b的三次样条差值函数,并称为样调节点。根据定义,S(x)在每个子区间xi-1,xi为次数不超过3的多项式:Si(x)=aix3+bix2+cix+di,xxi-1,xi在整个区间a,b上,S(x)为一分段函数 由于每一个三次多项式有四个待定系数,需要4个条件来确定,则对S(x)共需要4n个条件,由插值条件S(xi)=yi,i=0,1,n,得到n+1个条件;又根据样条函数及其一阶导函数、二阶导函数在内节点处的连续性:(i=1,2,n-1)又可以得到3(n-1)个已知条件,这样共得到个已知条件,再附加两个条件就可以唯一确定样条函数了。两个附加的条件往往以下面三种形式的边界条件给出: 第 1 类边界条件:给定端点处的一阶导数值,S(x1)y1,S(xn)yn。第 2 类边界条件:给定端点处的二阶导数值,S(x1)y1,S(xn)yn。特殊情况y1yn0,称为自然边界条件。第 3 类边界条件是周期性条件:如果yf(x)是以b-a 为周期的函数,于是S(x) 在端点处满足条件S(x10)S(xn-0),S(x0)S(xn-0)。三、样条函数的求解由n+1组数据:a = x0x1X(i)&x0X(i+1) L=i;y0=coeff(1)*x03+coeff(2)*x02+coeff(3)*x0+coeff(4);endval=X(i):interval:X(i+1);for k=1:length(val)fval(k)=coeff(1)*val(k)3+coeff(2)*val(k)2+coeff(3)*val(k)+coeff(4); endif mod(i,2)=1 plot(val,fval,r+)else plot(val,fval,b.) endhold onclear val fvalans=sym(coeff,d);ans=poly2sym(ans,t);fprintf(在区间%f,%f内n,X(i),X(i+1);fprintf(三次样条函数S(%d)=,i);pretty(ans); endfprintf (x0所在区间为%f,%fn,X(L),X(L+1);fprintf (函数在插值点x0=%f的值为n,x0);y02.输出结果(部分)在区间-0.188397,-0.185631内三次样条函数S(1)= 0.16728107 t3 + 935800. t2 + 174480. t + 10843.在区间-0.185631,-0.181059内三次样条函数S(2)= -358650. t3 - 195530. t2 - 35531. t - 2152.3在区间-0.181059,-0.172073内三次样条函数S(3)= 44970. t3 + 23707. t2 + 4163.7 t + 243.44在区间-0.172073,-0.166523内三次样条函数S(4)= -55778. t3 - 28300. t2 - 4785.4 t - 269.87在区间-0.166523,-0.159167内三次样条函数S(5)= 72770. t3 + 35918. t2 + 5908.5 t + 323.73在区间-0.159167,-0.157624内三次样条函数S(6)= -701660. t3 - 333870. t2 - 52950.

温馨提示

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

评论

0/150

提交评论