三次样条插值的MATLAB实现

上传人:大米 文档编号:563197662 上传时间:2023-12-15 格式:DOCX 页数:6 大小:47.78KB
返回 下载 相关 举报
三次样条插值的MATLAB实现_第1页
第1页 / 共6页
三次样条插值的MATLAB实现_第2页
第2页 / 共6页
三次样条插值的MATLAB实现_第3页
第3页 / 共6页
三次样条插值的MATLAB实现_第4页
第4页 / 共6页
三次样条插值的MATLAB实现_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《三次样条插值的MATLAB实现》由会员分享,可在线阅读,更多相关《三次样条插值的MATLAB实现(6页珍藏版)》请在金锄头文库上搜索。

1、在许多问题中,通常根据实验、观测或经验得到的函数表或离散点上的信息,去研究分析函数的有关特性。其中插值法是一种最基本的方法,以下给出最基本 的插值问题三次样条插值的基本提法:对插值区间ta,b进行划分:a x x x b ,函数y = f (x)在节点0 1 nx上的值y = f (x )( = 0,1,2,n),并且如果函数S(x)在每个小区间lx ,x 上iiii i+1是三次多项式,于L, b上有二阶连续导数,则称S G)是la, b上的三次样条函数,如果S(x)在节点x上还满足条件i(=0,1,n)S(x )= yii 则称S (x )为三次样条插值函数。三次样条插值问题提法:对L,

2、b上给定的数表如下.x1求一个分段三次多项式函数S(x)满足插值条件S(x )= y(i = 0,1,n)式,并在ii插值区间L,b上有二阶连续导数。这就需要推导三次样条插值公式:记f f(x)在节点x处的值为fG )= m (i = 0,1,n )(这不是给定插值问题数iii表中的已知值)。在每个小区间tx ,x 利用三次Hermite插值公式,得三次插值i i+1公式:S(x)= a (x)y +a(xiii +1)y+ P Cx )m + P m , x g tx ,x 。为了得到这个公i+1i iii+1 i+1ii+1式需要4n个条件:(1).非端点处的界点有2n个;(2).阶导数连

3、续有n-1个条件;(3).二阶导 数连续有n -1个条件,其中边界条件:Q S心)=mS心)=m00nnQ S(x )=aS(x )=a00nQa S (x )+a S (x )= P a S (x )+a S (x )= P304005 n6n1Q y = ySf(x + 0)= Sf(x - 0)0 n 0S (x +0)= S (x -0)0n其中:a C Lij0,i 丰 j1, i=ja r(x )= 0 p (x )= 0 且(i, j = 0,1)。 i ji j0,i丰j,i=j为对应变量的一阶导数。其推导过程如下:为了确定m的值,i( ) (x - x )2 lhSVx丿=i

4、+ i把S (x )展开为:这里hi(x+ 2(x - x )(x xth + 2(x- x)ih 3i)2(x-x )(x-x )2(xi y +iii+1ih 3i- x ) i+ mi+1-xi+1m +iih2ih2ii=x - x,对SG)连续求两次导,得:i +1i6x 2 x 4 x6 x 4 x 2xi i+1 m +i.h2ih2ii 考虑SG)在节点x处的右极限值,得:iS()=丸mi+1yi+16(x + x+ ii+1h 3i-y )。于是i6 (+(yh2iS+ 0 )= - m mih i hii同理,在相邻小区间lx ,x 上可得SG)的表达式为:i -1 ii+

5、1i+1-y )。i( ) 6 x - 2x - 4xS Vx =i-1=m +h 2i-1i-16x - 4x- 2 x6(x+ xi-1L m + i-1ih 2ih 2i-1i-1i yi1 )ii 1及S)在节点x处的左极限值为:i6i-1的连续性条件S心+ 0)= S心-0),这里i = 1,2,.n-1,有下式成立:iis- o)=2 ihi-14m + m -i-1h ii-1(y - y)。利用SG)二阶导数于节点x处ii-1i1丄2m + 2 hi1i1r 11)+ m + mI hh.)i -1i1= 3i hi+1i、y y , y yi+i + iih 2 h 2 丿i

6、i111,用丄+丄除等式两 hhi-1i边,I厂、亠W-并注意 y# y - y =f - i+1ii hi九 m + 2m + p m = gi i -1i i i +1i上式可简记为:(=12. n -1),hih + hi-1ihi-1h + hi-1i=3(X fix , x +ii-1 ip fixii, xi+1最后求得 m . m 的线性方程组为:1nr 2p0.00九mg1111九2p.000mg2222=000 .九2mgn-1n-1n-1n-100 .0九2mgnnnn(*)通过以上复杂的求解和迭代,就可以求解出插值函数的近似表达式。得出来的表 达式就可以用 MATLAB

7、软件来求解。具体求解过程如下:已知n对数据点(x, y),(x, y )(x, y),(x, y),,假设函数关系为112233n ny = f(x),但解析式不确定,数据插值就是构造函数关系式y = g(x),使x ( = 1,2,3,n),满足关系 g(x )= f (x )。iii例题:求满足下面函数表所给出的插值条件的三次自然样条函数。x1245y = f (x)1342分析:表中所列出的是函数对点,首先要把对应的插值函数求出来,再用MATLAB 软件来求区间1,5上间隔为的各点的值。求解过程如下:因自然样条插值函数的边界条件为S(x)= S(x)二 0,0n这里n二3,故确定m ,m

8、 ,m ,m的方程组形式形如上面的(*)式,其中系数九,卩0123i i和 g 可按如下步骤进行:ih:i九:i卩:ig:i1,1;33g1=3(p f lx ,x+九 f lx , x )=;1 1 2 1 0 1 2g2=3(p f L ,x+九 f L ,x D=-2232122g0=3f W,xi守y :=6;g3=3 f lx , x 1+23才 y;=-6.将上述参数带入(*)式,得到以下方程组:_ 21 0 0 _6 _2c1cm920033m121 2m70-2 -233m-2a 00 1 23-6解得:17由公式()(x - x )2 th + 2(x - x )(xSVx

9、丿=i+iiy + i-xi+1i-h3i-xi)2 th + 2(x - x)4i+1yh 3i+1i(x-xi+1-x )+h2i丄i+ m ,h 2i+1i可知,S(x)=127-x 3+ x 2+ x 1,884345103x 3 -x 2+x 33,884x e 1,4x e 4,5由所求出的表达式可知区间1,5可分为1,41(4,5,对两个区间分别用 MATLAB命令即可:针对第一个区间:127y = 一一x3 + x2 + x-1 ;其图像如下884命令如下:x=l:4;y=(-l/8) *x3+(2/8) *x.2+(7/4) *x-l;xi=l:4;y1=interp1(x,y,xi,spline)其运行结果如下:y1 =Columns 1 through 6Column 7针对第二个区间:34510333y = x3 一x2 +x2 一 33884

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号