对矩阵来说就是对其列进行插值,最终结果呢就是行数变多了,数据更密了。可以利用 interp1(X,Y,X1,method)实现,最终输出一个大小为length(X1)*size(Y,2)(即X1的行数乘以Y的列数)的矩阵。
一维数据插值函数interp1()的用法: interp1(X,Y,X1,method)
参数说明
其中:
X为原数组x坐标,对矩阵来说,x可以使用索引,即常说的第一行,第二行......。
eg:
如果你想两行之间插一行,X=[1:2:end],其中end为插完以后的最后一行;
如果你想两行之间插8个,X=[1:9:end],其中end为插完以后的最后一行;
当然你也可以每行插入不同的个数。比如X=[1,5,14];的意思就是对于一个只有三行的原矩阵进行以下操作:在1,2行间插3行;2,3行间插8行。
Y为原数组y坐标,对于矩阵而言,这其实就是这个矩阵本身 。
X1为处理后的数组x坐标,对矩阵而言X1=[1:1:end],其中end为插值完以后的最后一行。
method是指定算法完成插值,其中nearest为最近邻点插值, linear为线性插值(默认方式),spline为三次样条函数插值。
Ps:在matlab命令行输入 help interp1会得到更详细的介绍
以下附两个简单的例子作为参考: