matlab中filter帮助文档中“对矩阵行进行滤波”的解释

1、创建向量

% 创建一个由随机输入数据组成的 2×15 矩阵。
rng("default")  %固定随机数种子
x = randi(5,2,6)

结果

 x =

     5     1     4     2     5     1
     5     5     1     3     5     5

2、定义有理传递函数的分子和分母系数。

b = 1;
a = [1 -0.2];

3、沿着 x 的行进行一维数字滤波(1就是竖着滤波,2就是横着滤波)

y = filter(b,a,x,[],2)

结果

y =

    5.0000    2.0000    4.4000    2.8800    5.5760    2.1152
    5.0000    6.0000    2.2000    3.4400    5.6880    6.1376

4、结果解释

 帮助手册上说

matlab中filter帮助文档中“对矩阵行进行滤波”的解释_第1张图片  对于本例来说

a*y=b*x

→[1 -0.2]y(n)=x(n)

→y(n)-0.2y(n-1)=x(n)

→y(n)=x(n)+0.2y(n-1)

验证

y(1)=x(1)+0.2y(0)=5+0.2*0=5

y(2)=x(2)+0.2y(1)=1+0.2*5=2

y(3)=x(3)+0.2y(2)=4+0.2*2=4.4

y(4)=x(4)+0.2y(3)=2+0.2*4.4=2.88

你可能感兴趣的:(matlab,矩阵,滤波)