插值是函数逼近的一种方法,是数值计算的基本课题,插值是一种求函数近似值的方法,针对某个插值点x,用插值节点Xi上的已知参数f(xi)组合生成f(x)的近似值。最简单的插值方法就是多项式插值,matlab既可以利用库函数,也可以变成来实现数据插值。只要知道函数在某个区间的有定义且已知得到区间内一些离散点的值,就能用简单的表达式近似给出函数在此区间的整体描述,并能与已知离散点上值相等。
插值法按插值函数的形式分为:代数多项式插值、三角多项式插值、有理分式插值。
一·一元函数插值
matlab 中一元函数插值函数为interp1(),它的功能是一维数据插值,该命令数据点之间进行计算内插值。它找出一元函数f(x)在中间点的数值,其中函数f(x)由所给数据决定。
interp1(x,Y,xi):由已知点集(x,Y)插值计算xi上的函数值y。
interp1(Y,xi):相当于x=[1:length(Y)]插值出y。
interp1(x,Y,xi,method):method用来指定插值的方法。
interp1(x,Y,xi,method,'extrap'):对xi中超出已知点集的插值点采用指定方法计算y
interp1(x,Y,xi,method,extrapval):用指定方法插值xi的函数值y,xi中超出点集初的函数值取extrapval。
interp1(x,Y,method,'pp'):用指定方法进行插值,返回分段多项式。
method = 'nearest' 最邻近插值:插值点函数值取与插值点最近的已知点上的函数值。
mehtod= 'linear'分段线性插值:插值点处函数值由连接其最近的两侧点的线性函数预测。interp1()的默认方法。
method = 'spline'条样插值:默认为三次样条插值,可以用spline代替。
method = 'pchip'三次hermite多项式插值,可以用pchip来代替。
method = 'cubic'三次hermite多项式插值。