matlab 高阶,三—— 插值

1. FFT 插值

y = interpft(x,n)

y = [0, .5, 1., 1.5, 2., 1.5, 1., .5, 0, -.5, -1, -1.5, -2., -1.5, -1., -.5, 0];
N = length(y);

L = 5;      % 插值因子,interpolation factor,即插值后数组的长度是原先数组长度的倍数;
M = N*L;
y_interp = interpft(y, M);
plot(0:L:L*N-1, 'o', y, 0:M-1, y_interp, '*')
legend('original data', 'interpolated data')

interpft傅里叶插值所执行的动作,首先使用傅里叶变换将原始的向量 x 变换到频率域,插入更多的点之后,再执行傅里叶逆变换。