Professional Documents
Culture Documents
clear ,clc
n=8;
hada = my_hadamard(n);
if hada ~=0
fprintf('Hadamard matrix of %d x %d \n',n,n)
hada
(hada*hada')/n
else
fprintf('You asked for Hadamard matrix of size n = %d\n ', n)
fprintf('By definition, Hadamard matrix is n x n where n is power of 2')
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% function [myhada]=my_hadamard(n)
% if (my_is_pow2(n))~= 1
% disp(' argument must be power of 2');
% myhada=0;
% return
% end
% if ( n==1)
% myhada=1;
%
% else
% myhada=[my_hadamard(n/2) my_hadamard(n/2);
% my_hadamard(n/2) -1*my_hadamard(n/2)];
% end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% function [is_pow2]=my_is_pow2(n)
% nnn =log2(n);
% nn = round(nnn);
% if ( nnn - nn ) == 0
% is_pow2 = 1 ;
% else
% is_pow2 = 0;
% end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1
Hadamard matrix of 8 x 8
hada =
1 1 1 1 1 1 1 1
1 -1 1 -1 1 -1 1 -1
1 1 -1 -1 1 1 -1 -1
1 -1 -1 1 1 -1 -1 1
1 1 1 1 -1 -1 -1 -1
1 -1 1 -1 -1 1 -1 1
1 1 -1 -1 -1 -1 1 1
1 -1 -1 1 -1 1 1 -1
ans =
1 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0
0 0 1 0 0 0 0 0
0 0 0 1 0 0 0 0
0 0 0 0 1 0 0 0
0 0 0 0 0 1 0 0
0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 1