立方插值简介.docx_第1页
立方插值简介.docx_第2页
立方插值简介.docx_第3页
立方插值简介.docx_第4页
立方插值简介.docx_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

三次样条插值(Cubic Spline Interpolation)及代码实现(C语言)样条插值是一种工业设计中常用的、得到平滑曲线的一种插值方法,三次样条又是其中用的较为广泛的一种。本篇介绍力求用容易理解的方式,介绍一下三次样条插值的原理,并附C语言的实现代码。1. 三次样条曲线原理假设有以下节点1.1 定义样条曲线是一个分段定义的公式。给定n+1个数据点,共有n个区间,三次样条方程满足以下条件:a. 在每个分段区间(i = 0, 1, , n-1,x递增),都是一个三次多项式。b. 满足(i = 0, 1, , n )c.,导数,二阶导数在a, b区间都是连续的,即曲线是光滑的。所以n个三次多项式分段可以写作:,i = 0, 1, , n-1其中ai, bi, ci, di代表4n个未知系数。1.2 求解已知:a. n+1个数据点xi, yi,i = 0, 1, , nb. 每一分段都是三次多项式函数曲线c. 节点达到二阶连续d. 左右两端点处特性(自然边界,固定边界,非节点边界)根据定点,求出每段样条曲线方程中的系数,即可得到每段曲线的具体表达式。插值和连续性:, 其中 i = 0, 1, , n-1微分连续性:, 其中 i = 0, 1, , n-2样条曲线的微分式:将步长带入样条曲线的条件:a. 由(i = 0, 1, , n-1)推出b. 由(i = 0, 1, , n-1)推出c. 由(i = 0, 1, , n-2)推出由此可得:d. 由(i = 0, 1, , n-2)推出设,则a.可写为:,推出b. 将ci, di带入可得:c. 将bi, ci, di带入(i = 0, 1, , n-2)可得:端点条件由i的取值范围可知,共有n-1个公式, 但却有n+1个未知量m 。要想求解该方程组,还需另外两个式子。所以需要对两端点x0和xn的微分加些限制。 选择不是唯一的,3种比较常用的限制如下。a. 自由边界(Natural)首尾两端没有受到任何让它们弯曲的力,即。具体表示为和则要求解的方程组可写为:b.固定边界(Clamped)首尾两端点的微分值是被指定的,这里分别定为A和B。则可以推出将上述两个公式带入方程组,新的方程组左侧为c. 非节点边界(Not-A-Knot)指定样条曲线的三次微分匹配,即根据和,则上述条件变为新的方程组系数矩阵可写为:右下图可以看出不同的端点边界对样条曲线的影响:1.3 算法总结假定有n+1个数据节点a. 计算步长(i = 0, 1, , n-1)b. 将数据节点和指定的首位端点条件带入矩阵方程c. 解矩阵方程,求得二次微分值。该矩阵为三对角矩阵,具体求法参见我的上

温馨提示

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

评论

0/150

提交评论