MATLAB中的线性插值

版权声明:本文为博主原创文章,如需转载,请注明出处 https://blog.csdn.net/qq_36554582/article/details/82925730

插值分为好多种,插值其实就是所谓的上采样。最基本的也是最简单的线性插值还是比较好理解的,看下图

即线性插值就是先根据已知点求出过这两点的直线方程,然后再把需要进行插值的位置的X坐标代入到这个直线方程中,就可以计算出一个Y坐标的值,这个值就是我们插进去的值。
接下来看一下在MATLAB中简单的实现一个线性插值的程序

%原始数据
n=[0,1,2,3,4,5,6,7,8,9];
y=[1.5,2,2.5,3,3.5,4,4.5,5,5.5,6];
subplot(1,2,1)
stem(n,y);
title('原始离散数据');
xlabel('x[n]');
ylabel('y[n]');
%线性插值
xi=(0:0.5:9);%设定插值的间隔
yi=interp1(n,y,xi,'linear');%调用插值函数,'linear'表示选择线性插值
subplot(1,2,2)
stem(xi,yi);
title('线性插值后的离散数据');
xlabel('x[n]');
ylabel('y[n]');

插值前与插值后的图像比较

猜你喜欢

转载自blog.csdn.net/qq_36554582/article/details/82925730