matlab中spline函数的用法

来源:百度知道 编辑:UC知道 时间:2024/05/12 20:14:29
pp=spline(x,y)求三次样条插值的多项式,求出来的高次项系数是在前面还是在后面啊???

spline函数:
功能 :三次样条数据插值。
格式:
(1)yy = spline(x,y,xx)
对于给定的离散的测量数据x,y(称为断点),要寻找一个三项多项式y = p(x) ,以逼近每对数据(x,y)点间的曲线。过两点(xi, yi) 和(xi+1, yi+1) 只能确定一条直线,而通过一点的三次多项式曲线有无穷多条。为使通过中间断点的三次多项式曲线具有唯一性,要增加两个条件(因为三次多项式有4 个系数):
a.三次多项式在点(xi, yi) 处有: p¢i(xi) = p¢i(xi) ;
b.三次多项式在点(xi+1, yi+1) 处有: p¢i(xi+1) = pi¢(xi+1) ;
c.p(x)在点(xi, yi) 处的斜率是连续的(为了使三次多项式具有良好的解析性,加上的条件);
d.p(x)在点(xi, yi) 处的曲率是连续的;
对于第一个和最后一个多项式,人为地规定如下条件:
①. p¢1¢(x) = p¢2¢(x)
②. p¢n¢(x) = p¢n¢-1(x)
上述两个条件称为非结点(not-a-knot)条件。
该命令用三次样条插值计算出由向量x 与y 确定的一元函数y=f(x)在点xx 处的值。若参量y 是一矩阵,则以y 的每一列和x 配对,再分别计算由它们确定的函数在点xx 处的值。则yy 是一阶数为length(xx)*size(y,2)的矩阵。

(2)pp = spline(x,y)
返回由向量x 与y 确定的分段样条多项式的系数矩阵pp,它可用于命令ppval、unmkpp 的计算。
例:
对离散地分布在y=exp(x)sin(x)函数曲线上的数据点进行样条插值计算:
>>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)