%% Filter Matrix Data
% This example filters a matrix of data with the following rational transfer function:
% H(z) = \frac{b(1)}{a(1)+a(2)z^{-1}}=\frac{1}{1-0.2z^{-1}}
% Create a 15-by-2 matrix of random input data.

rng default  %initialize random number generator
x = rand(15,2);

%
% Define the numerator and denominator coefficients for the rational transfer function.

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

%
% Apply the transfer function along the first dimension of x and return the 1-D digital filter of each column. Plot the first column of original data against the filtered data.

y = filter(b,a,x);

t = 0:length(x)-1;  %index vector

plot(t,x(:,1))
hold on
plot(t,y(:,1))
legend('Input Data','Filtered Data')
title('First Column')

%
% Plot the second column of input data against the filtered data.

figure
plot(t,x(:,2))
hold on
plot(t,y(:,2))
legend('Input Data','Filtered Data')
title('Second Column')

% Copyright 2012 The MathWorks, Inc.