spline函数----三次样条数据插值

【功能介绍】

   1、格式 yy = spline(x,y,xx) %对于给定的离散的测量数据x,y(称为断点),要寻找一个三项多项式clip_image012,以逼近每对数据(x,y)点间的曲线。过两点clip_image014clip_image016只能确定一条直线,而通过一点的三次多项式曲线有无穷多条。为使通过中间断点的三次多项式曲线具有唯一性,要增加两个条件(因为三次多项式有4个系数):

       1.三次多项式在点clip_image014[1]处有: clip_image019

       2.三次多项式在点clip_image016[1]处有:clip_image022

       3.p(x)在点clip_image014[2]处的斜率是连续的(为了使三次多项式具有良好的解析性,加上的条件);

       4.p(x)在点clip_image014[3]处的曲率是连续的;

      对于第一个和最后一个多项式,人为地规定如下条件:

     ①.clip_image025

      ②.clip_image027

上述两个条件称为非结点(not-a-knot)条件。综合上述内容,可知对数据拟合的三次样条函数p(x)是一个分段的三次多项式:

clip_image029,其中每段clip_image031都是三次多项式。

该命令用三次样条插值计算出由向量x与y确定的一元函数y=f(x)在点xx处的值。若参量y是一矩阵,则以y的每一列和x配对,再分别计算由它们确定的函数在点xx处的值。则yy是一阶数为length(xx)*size(y,2)的矩阵。

pp = spline(x,y) %返回由向量x与y确定的分段样条多项式的系数矩阵pp,它可用于命令ppval、unmkpp的计算。


【实例介绍】

 

x = [0 2 4 5 8 12 12.8 17.2 19.9 20]; y = exp(x).*sin(x);
xx = 0:.25:20;
yy = spline(x,y,xx);
plot(x,y,'o',xx,yy)
spline函数----三次样条数据插值_第1张图片

你可能感兴趣的:(matlab中插值拟合与查表)