matlab求解三次条样插值

函数原型 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函数能实现自然边界条件和第二边界条件及可以实现一维或者高维的曲线插值。

 

 

猜你喜欢

转载自www.cnblogs.com/HanLixiang/p/10480511.html