函数原型 csape(x,y,conds,valconds)
需要安装Curve Fitting Toolbox这个工具箱
conds 表示是哪种边界条件
'not-a-knot' 非扭结条件,不用给边界值.
'periodic' 周期性边界条件,不用给边界值.
'second' 给定边界二阶导数.
'variational' 自然样条(边界二阶导数为0),默认
'complete' 给定导数情况
valconds表示给定的条件
eg:
x | 27.7 | 28 | 29 | 30 |
y | 4.1 | 4.3 | 4.1 | 3.0 |
边界条件:
S'(27.7) = 3.0 ,S'(30) = -4.0
x = [27.7 28 29 30];y = [4.1 4.3 4.1 3.0]pp=csape(x,y,'complete',[3,-4]);disp(pp.coefs);xi=27.7:0.05:30;yi=ppval(pp,xi);plot(x,y,'o',xi,yi);
运行结果:
y =
4.1000 4.3000 4.1000 3.0000
13.2930 -11.7657 3.0000 4.1000
0.0723 0.1980 -0.4703 4.3000 -1.6574 0.4149 0.1426 4.1000
补充:除了csape还有spline函数能实现自然边界条件和第二边界条件及可以实现一维或者高维的曲线插值。