三次样条插值边界条件、MATLAB

您所在的位置:网站首页 用matlab求导数 三次样条插值边界条件、MATLAB

三次样条插值边界条件、MATLAB

2023-07-06 12:37| 来源: 网络整理| 查看: 265

鉴于学习需要,最近在看三次样条插值有关内容,仅以此作为学习记录,还请大佬们不吝赐教!

目 录 第I型边界 自然边界【Natural Spline】 第II型边界、夹持边界、固定边界【Clamped Spline】 非扭结边界(非节点边界)【Not-A-Knot Spline】 混合边界 循环边界 MATLAB库函数 不同边界情况对比结果

1.第I型边界

   即给定两端点的二阶导数值分别为A和B,即:

         

2.自然边界【Natural Spline】

   当左右两端点的二阶导数值为零,即:

 

   上述I型边界退变为自然边界。即该点的曲率为零,曲率计算公式为:

 

3.第II型边界、夹持边界、固定边界【Clamped Spline】

   给定两端点的一阶导数值分别为A和B,即:

 4.非扭结边界(非节点边界)【Not-A-Knot Spline】

    强制第一个插值点的三阶导数值等于第二个点的三阶导数值,最后第一个点的三阶导数值等于        最后第二个点的三阶导数值,即:

 

5.混合边界:即将第I型边界和第II型边界混合起来,也分两种情况:

①第一种情况

 ②第二种情况

 

6.循环边界:端点处的一阶导和二阶导相等的边界条件,适用于封闭或循环的图形。

MATLAB库函数

目前MATLAB中实现样条插值的函数主要包括有两个函数:

spline函数

其调用格式如下所示,其返回值是一个结构体变量,其包括我们所需要的三次样条系数。

调用形式:

 该函数的默认边界条件是非扭结边界条件,除此之外,其还可以实现第II型边界条件,同时   可以实现一维或者高维的曲线插值。第II型边界条件实现:

 

csape函数

默认边界条件是自然边界,即为两端点的二阶导数值为零。

 不同边界情况对比结果:

1.自然边界:

cs3=csape(s',xy','variational'); %  自然边界,二阶导数值为0

结果如下:

2.夹持边界

cs3=csape(s',xy','complete',[[1;1],[-0.012;-0.03]]);     %  一阶边界条件

结果如下:

3.非扭结边界

 cs3=csape(s',xy','not-a-knot');     %  非扭结边界条件

 结果如下:

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3