三次样条插值方法的应用

上传人:桔**** 文档编号:556043657 上传时间:2022-09-20 格式:DOC 页数:6 大小:119.50KB
返回 下载 相关 举报
三次样条插值方法的应用_第1页
第1页 / 共6页
三次样条插值方法的应用_第2页
第2页 / 共6页
三次样条插值方法的应用_第3页
第3页 / 共6页
三次样条插值方法的应用_第4页
第4页 / 共6页
三次样条插值方法的应用_第5页
第5页 / 共6页
点击查看更多>>
资源描述

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

1、+而大摩CENTRALSOUTHUNIVERSITY数值分析实验报告o三次样条插值方法的应用一、问题背景分段低次插值函数往往具有很好的收敛性,计算过程简单,稳定性好,并且易于在在电子计算机上实现,但其光滑性较差,对于像高速飞机的机翼形线船体放样等型值线往往要求具有二阶光滑度,即有二阶连续导数,早期工程师制图时,把富有弹性的细长木条(即所谓的样条)用压铁固定在样点上,在其他地方让他自由弯曲,然后沿木条画下曲线,称为样条曲线。样条曲线实际上是由分段三次曲线并接而成,在连接点即样点上要求二阶导数连续,从数学上加以概括就得到数学样条这一概念。下面我们讨论最常用的三次样条函数及其应用。二、数学模型样条函

2、数可以给出光滑的插值曲线(面),因此在数值逼近、常微分方程和偏微分方程的数值解及科学和工程的计算中起着重要的作用。设区间a,b上给定有关划分ax0x1xnb,S为a,b上满足下面条件的函数。_2SCa,b;S在每个子区间x,xr上是三次多项式。则称S为关于划分的三次样条函数。常用的三次样条函数的边界条件有三种类型:_T-rrt_,I型Sxnf0,Sxnfn。II型Sxnf0,Sxnfn,其特殊情况为SxnSa0。m型SjxSjxn,j0,1,2,3,此条件称为周期样条函数。o鉴于n型三次样条插值函数在实际应用中的重要地位,在此主要对它进行详细介绍。三、算法及流程按照传统的编程方法,可将公式直接

3、转换为MATLAB可是别的语言即可;另一种是运用矩阵运算,发挥MATLAB在矩阵运算上的优势。两种方法都可以方便地得到结果。方法二更直观,但计算系数时要特别注意。这里计算的是方法一的程序,采用的是II型边界条件,取名为spline2.m。Matlab代码如下:functions=spline2(x0,y0,y21,y2n,x)%s=spline2(x0,y0,y21,y2n,x)%x0,y0areexistedpoints,xareinsertpoints,y21,y2narethesecond%dirivitivenumbersgiven.n=length(x0);km=length(x);

4、a(1)=-0.5;b(1)=3*(y0(2)-y0(1)/(2*(x0(2)-x0(1);forj=1:(n-1)h(j)=x0(j+1)-x0(j);endforj=2:(n-1)alpha(j)=h(j-1)/(h(j-1)+h(j);beta(j)=3*(1-alpha(j)*(y0(j)-y0(j-1)/h(j-1)+alpha(j)*(y0(j+1)-y0(j)/h(j);a(j)=-alpha(j)/(2+(1-alpha(j)*a(j-1);b(j)=(beta(j)-(1-alpha(j)*b(j-1)/(2+(1-alpha(j)*a(j-1);endm(n)=(3*(y0

5、(n)-y0(n-1)/h(n-1)+y2n*h(n-1)/2-b(n-1)/(2+a(n-1);forj=(n-1):-1:1m(j)=a(j)*m(j+1)+b(j);endfork=1:kmforj=1:(n-1)if(x(k)=x0O)&(x(k)x0(j+1)l(k)=j;endendendfork=1:kmsum=(3*(x0(l(k)+1)-x(k)A2/h(l(k)A2-2*(x0(l(k)+1)-x(k)A3/h(l(k)A3)*y0(l(k);sum=sum+(3*(x(k)-x0(l(k)A2/h(l(k)A2-2*(x(k)-x0(l(k)A3/h(l(k)A3)*y0

6、(l(k)+1);sum=sum+h(l(k)*(x0(l(k)+1)-x(k)A2/h(l(k)A2-(x0(l(k)+1)-x(k)A3/h(l(k)A3)*m(l(k);s(k)=sum-h(l(k)*(x(k)-x0(l(k)A2/h(l(k)A2-(x(k)-x0(l(k)A3/h(l(k)A3)*m(l(k)+1);end四、计算结果及分析给定如下数值表,试求三次样条插值函数满足边界条件S28.7s300x28.7282930fx4.14.34.13.0在MATLAB命令窗口中输入:x=28.7282930;y=4.14.34.13.0;x0=28.7:0.15:30;y=spline2(x,y,0,0,x0);plot(x0,y)得到的图形如下图所示:THANKS!致力为企业和个人提供合同协议,策划案计划书,学习课件等等打造全网一站式需求欢迎您的下载,资料仅供参考

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 演讲稿/致辞

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