数据插值的任务是根据已知的n点数据构造插值函数且插值函数过已知点。根据被插值函数的自变量个数分为一维插值,二维插值和多维插值;根据插值方法分为线性插值,多项式插值和样条插值。
一、一维数据插值
Y1=interpl(X,Y,X1,method),根据X,Y的值计算函数在X1的值。X,Y分别描述采样点和采样值。若同一采样点有多种采样值,则Y可以为矩阵,每一列对应一组采样。method是插值方法:
(1)'linear':线性插值,把与插值点靠近的两个数据点用直线连接,在直线上选取插值点数据
(2)'nearest'最近点插值,与距离最近的已知点数据相同
(3)'pchip'分段三次埃尔米特插值。采用分段三次多项式,除满足插值条件,还需满足在若干节点处一阶导数相等,提高插值函数光滑性。也可直接利用pchip(X,Y,X1)函数
(4)'spline' 3次样条插值在每个分段内构造3次多项式,要求各节点处具有连续的一阶和二阶导数,也可用spline(X,Y,X1)函数
注意:对于超出X范围的插值点,使用linear和nearest会给出NaN错误,对于其他方法将执行外插值算法。
二、二维数据插值
函数依赖于两个自变量变化。
z1=interp2(X,Y,Z,X1,Y1,method),method于一维插值函数相同,但不支持pchip方法
三、曲线拟合
曲线拟合不要求拟合函数严格通过已知点,但希望尽量靠近这些点,曲线拟合的最优标准是最小二乘原理,让拟合多项式在各节点处的偏差的平方和最小。
实现方法是先用polyfit函数求出最小二乘拟合多项式的系数,再用polyval函数按所求得的多项式计算处所给点的函数近似值
polyfit调用格式:P=polyfit(X,Y,m),m代表要产生的拟合多项式的最高次数