三次样条插值在工程拟合中的应用.docx
三次样条插值在工程拟合中的应用摘要: 介绍了工程实验、勘测、设计中常见的列表函数之数值插值方法、程序实现及工程应用, 应用此法可方便地将任何列表函数计算到工程设计、施工所需要的精确程度, 给出了各参数随主要参数变化而变化的光滑曲线, 并将其应用推广到一般情况.关键词: 列表函数; 数值拟合; 三次样条插值; MA TLAB 程序设计与应用在实际工工程中, 广泛泛存在这这样的问问题: 根据设设计要求求和具体体的工程程条件, 在初初始设计计阶段会会勘测得得到若干干组该工工程的控控制参数数, 但这这些参数数之间彼彼此离散散、不够够密集, 利用用它们来来施工则则不能满满足施工工的精度度要求. 为了了解决这这一问题题, 需要要对已知知的参数数数据进进行分析析处理, 进行行必要的的插值、拟合, 以达达到施工工所需要要的数据据精度.本文以以工程实实例为基基础, 对实际际工程中中插值方方法的选选取、插插值的实实现和插插值曲线线的拟合合加以讨讨论, 提出能能得到较较合乎实实际的插插值方法法, 给出出一般工工程人员员就能实实现的计计算方法法以及能能得到光光滑曲线线的拟合合方法.1 工程程应用实实例表1 所所示的为为某双曲曲拱坝体体形原始始参数 1对于这一一类工程程列表参参数有一一个显著著的特点点:尽管不不同工程程的参数数多寡不不同, 但都是是由n 行k 列的的离散的的列表数数据给出出, 虽然然同一行行代表某某工程特特定位置置的几个个参数(或高程程参数, 或上上游半径径参数) , 但相相邻两行行由于位位置距离离太大, 两行行各参数数之间究究竟存在在什么数数值关系系, 对工工程设计计、施工工有何影影响, 这是工工程技术术人员需需要弄清清楚的 2 .以以双曲拱拱坝为例例, 它沿沿整个高高程的变变化是一一个连续续光滑的的空间曲曲面. 从施工工需要来来看, 这些数数据太稀稀疏, 难以满满足设计计、施工工放样与与钢筋配配置等要要求, 如果照照此施工工, 则有有可能达达不到工工程精度度、降低低工程效效率; 从计算算机图形形模拟来来看, 要生成成这个曲曲面仅由由这一列列表函数数是得不不到光滑滑曲面的的, 是不不可取的的. 所以以, 为使使计算精精确, 满足工工程施工工过程中中任何断断面位置置、任意意水平位位置、任任意高程程位置所所必需的的施工数数据与设设计图纸纸, 保证证工程施施工的高高品质,就要求求作精确确的数据据处理.进一步步分析可可知, 在这些些参数表表中, 各行的的参数都都随某一一主要参参数的变变化而变变化, 如上游游半径参参数随高高程的变变化而变变化, 它们们的这种种函数关关系,在数值值分析中中有许多多的方法法可以求求得. 但是哪哪种方法法能更好好、更合合乎实际际地给出出平滑曲曲线呢? 下面面所选的的插值方方法能够够较好地地满足这这一要求求.2 插值值方法的的选择在数值分分析中, 这种种插值过过程可具具体使用用线性( 1iineaar ) 插值值、三次次样条( spp liine ) 插插值、立立方(ccub ic) 插值值等方法法, 在曲曲线插值值法中最最常用的的是线性性插值法法, 它是是估计两两个主干干点之间间数值的的最简单单、最易易实现的的方法, 但采采用线性性插值法法会有以以下缺点点:一是使得得曲线不不能显示示连接主主干点间间的凸状状弧线;二是使得得从曲线线导出远远期曲线线时会形形成人为为的“尖头”(spp ikkes) 2 .因此, 通常采采用样条条法来构构造曲线线. 样条条法是用用一平滑滑曲线来来对各主主干点进进行拟合合的方法法. 它是是通过构构造多项项式(一个或或一组不不同阶多多项式) 来形形成一条条把所有有主干点点连接起起来的平平滑曲线线. 一般般常常选选择三次次曲线(根据三三次插值值样条函函数所得得的曲线线) 进行行拟合.通常, 在a, b 上的以以x ii ( i=0, 1, 2, , n) 为节节点的三三次插值值样条函函数 3 定义义如下: 给定定区间a, b 的一个个划分$: a= x 0< x 1<< x 2< < x n = b和区间间a, b 上的一一个函数数f (x ) , 若若函数SS (x ) 满足下下列条件件:(1) 一致通通过n+ 11 个插插值点(x ii, y i) , 即即S (xx i) = f (x ii) = y i ( i= 00, 11, 22, , n) ;(2) 二阶连连续, 即S (x ) C2 a, b ;(3) 三次分分段, 即在每每一个小小区间 x i- 1, x ii ( i= 1, 2, , n) 上均均为三次次多项式式.则称S (x ) 为函数数f (x ) 的三次次插值样样条函数数. 在构构造三次次插值样样条函数数时, 为确定定S (x ) 应根据据n+ 11个插值值条件, 3nn- 33 个连连续条件件以及给给定的边边界条件件, 再利利用节点点处的一一阶导数数或二阶阶导数就就可构造造出三次次插值样样条函数数. 在构构造曲线线过程中中, 关键键是估计计三次多多项式函函数和确确定样条条函数形形式.从以上上理论分分析可知知, 三次次活动曲曲线具有有优良的的数学特特征, 而且用用三次曲曲线去拟拟合时, 其结结果要比比线性插插值估计计更接近近于工程程实际情情况 4 . 三三次曲线线法又可可分为三三次样条条插值法法和立方方插值法法. 在数数值分析析中有许许多的方方法, 限于篇篇幅, 本文仅仅以工程程上用得得较多的的、具有有优良效效果的三三次样条条插值为为例介绍绍插值方方法.3 插值值计算原原理三次样条条函数的的数学原原理及其其子程序序, 可见见于多种种数学著著作 5 与算法法手册. 这里里作简单单介绍.由于拱拱坝或其其他工程程曲面都都是连续续而光滑滑的空间间曲面, 它的的断面高高程自坝坝底至坝坝顶均满满足a= jj 1<< j 2< < j n= b,且每一一位置(高程) 都对应应有一组组几何参参数: y 1, y 2, y n. 如上游游半径、下游半半径、拱拱厚等(见表1 所列) , 因因此对于于一组高高程插值值点j 1= t1< t2< t3< < tmm j nn ,可用三三次自然然样条函函数S (x ) 求解它它们在各各插值点点的函数数值及其其一阶导导数S (x ) 和二阶阶导数SS (x ).三次样样条函数数S (x ) 是用分分段三次次多项式式逼近函函数y = f (x ) , 且且满足SS (x ) 为区间间a, b 上曲线线y= f (x ) 的三次次样条插插值函数数的三个个条件. 经两次积积分, 可得三三次样条条插值函函数S (x ) 的表达达式为利用函数数S (x ) 在样点点x ii 处具具有连续续二阶导导数的条条件, 再根据据三次自自然样条条插值法法, 增加加自然边边界条件件得到如下下方程组组:解上述方方程组, 求得得M ii ( i= 00, 11, 22, , n) 代入入S (x ) 公式, 即可得得每个子子区间 x i- 1, x ii ( ii= 11, 22, n) 上的的三次样样条函数数.根据上上述原理理, 对工工程原始始列表数数进行插插值计算算, 即可可满足多多种施工工要4 插值值方法的的实现由以上可可以看出出, 三次次样条插插值的关关键是寻寻找插值值函数, 但插插值函数数寻找相相当复杂杂, 对于于一般的的工程人人员很难难完成, 那么么怎样才才能使三三次样条条插值这这一优秀秀的插值值方法被被人们所所掌握呢呢?M athhworrks公司推推出了功功能强大大的数学学计算软软件MAA T22LABB 66 , 它它不但使使源程序序编写简简单、源源程序代代码简短短(因为现现成的三三次样条条插值函函数可供供使用) , 而且可可以利用用其强大大的作图图功能方方便地拟拟合出光光滑曲线线. 因此此, 本文文选用MMA TTLABB 语言言作为计计算语言言MA TTLABB 程序序设计原原理:在以上参参数表中中, 各行行的各参参数都随随高程这这一主要要参数的的变化而而变化, 根据据它们变变化的这这种函数数关系, 以高高程为插插值的已已知节点点(其中已已知节点点个数nn = 6) , 为为使插值值结果一一致通过过这些节节点, 以1. 36为为步长调调用插值值函数进进行插值值.MA TTLABB 程序序设计算算法:( 1) 写入入原始参参数矩阵阵, 以同同一组参参数为行行,以同一一种参数数为列;(2) 产生插插值的精精度矩阵阵, 在最最小值与与最大值值之间以以1. 36 为步长长, 产生生矩阵;(3) 调用MAA TLLAB 中的三三次样条条插值函函数,产生插插值结果果矩阵, 以对对每一种种参数的的插值结结果为行行产生矩矩阵, 再转置置.MA TTLABB 程序序设计:x 0= 44701. 365044 ;ou tt= x 0; spp liine (x (16) , xx (7712) , x 0) ; sp linne (x (116) , xx (11318) , x 0) ; sp linne (x (116) , xx (11924) , x 0)sp llinee (xx (116) , xx (22530) , x 0) ; sp linne (x (116) , xx (33136) , x 0) ; sp linne (x (116) , xx (33742) , xx 0) 运算数据据分析:(1) 这组运运算数据据一致通通过已知知节点, 而且且偏差较较小、数数学处理理和程序序设计都都大大简简化(与文献献1 相比).(2) 经过以以上的运运算, 可以使使原来仅仅有的66 组数数据变为为26 组, 而且且还可以以根据工工程人员员的需要要对上述程程序步长长进行修修改, 就可任任意提高高精度, 从而而使工程程人员能能够更好好地了解解各种参参数在各各点的数数据, 使工程程精度大大大提高高5 插值值曲线拟拟合当然, 无论以以多么小小的数为为步长、无论给给出多少少组数据据, 这些些参数还还是一些些离散的的数据, 在有有些情况况下, 工程人人员要了了解某些些数据随随某一主主要参数数的变化化而变化化的连续续曲线, 这时时, 可以以在数据据插值的的基础上上, 发挥挥MA TLAAB 在在图形处处理上的的强大功功能, 对以上上插值所所得的数数据进行行曲线拟拟合, 以便更更好地了了解各参参数随某某一主要要参数变变化而变变化的趋趋势.在以上上插值数数据的基基础上,在上面面程序的的尾部编编写MAA TLLAB 作图程程序, 作图程程序如下下, 运行行后得到到图1 所示插插值拟合合曲线.p llo tt (xx 0, ouu t (27752) ,- )ho lld oonp loo t (x 0, ou t (5378) ,- + )p loo t (x 0, ou t (791044) ,)p loo t (x 0, ou t (10551300) ,- - )p loo t (x 0, ou t (13111566) ,- 3 )p loo t (x 0, ou t (15771822) ,- . )legeend (上游半半径,下游半半径,拱厚,半中心心角,圆心距距,淤沙高高程)ho lld ooffgridd onn从图1 中, 可以以看到各各参数随随高程的的变化而而变化的的曲线, 从而而更好地地去了解解各参数数的变化化规律,实现对对工程各各参数的的整体把把握, 这是一一般数值值处理方方法所无无法实现现的.6 小结结以上仅为为三次样样条插值值及其实实现方法法的一个个实例, 本文文在插值值方法的的选择上上选取了了能够得得到平滑曲线的的、具有有优良数数学特征征的三次次样条插插值法;在插值值的实现现上选取取了具有有强大计计算功能能的数学学软件MMA TTLABB, 它它能够以以较少的的编码, 较简简单的语语句实现现这一复复杂的计计算, 并能得得到较合合理的结结论; 在曲线线的拟合合上我们们在插值值的基础础上同样样选取具具有强大大图形处处理功能能的MAA TLLAB 软件, 从而形形成较准准确、较较平滑、较合实实际的曲曲线. 总之, 以上所所提供的的方法是是三次样样条插值值和MAA TLLAB 科学计计算语言言在工程程中应用用的一个个实例, 它能能使计算算较简便便, 又能能很好地地满足光光滑性要要求, 使曲线线也不失失真.实现了了工程数数学、计计算数学学、程序序设计的的结合与与简化.三次样样条插值值不仅在在工程方方面, 而且在在测绘、勘察、预测等等方面都都有着十十分广泛泛的应用用参考文献献: 1 彭彭荣利, 靳萍, 欧阳建建国. 工程列列表函数数的数值值拟合与与应用J . 武武汉大学学学报(工学版版) , 20002, 355 (44) : 42245. 2 王王瑞华. 水利利工程数数据插值值计算及及图形处处理JJ . 农田田水利与与小水电, 19994 (8) : 1519. 3 鞠鞠时光, 郭伟伟刚. 实用三三次样条条插值函函数JJ . 小型型微型计计算机系统, 19992, 133 (99) : 20023. 4 谢谢赤, 钟钻. 插值法法在零息息收益曲曲线构造造中的实实证研究究J . 数数量经济济技术经经济研究究, 220022 (44) : 31134. 5 曾曾绍标, 韩秀秀芹. 工程数数学基础础M . 北京: 科学出出版社,20011. 6 王王沫然. MAA TLLAB 与科学学计算(第2 版) M . 北北京: 电子工工业出版社社, 220033