MATLAB: How to multiply 2D matrix with it hermitian

equationmatrices

Hi,
How can I do this in matlab?I want to multiply a matrix with it's hermitian,as the following equation:
M=(1/K)*sum(zkd*zkd'),
zkd is (1000*5).zkd is from a signal(size 5000) and i divide it to blocks with block size equal to 1000,and number of blocks 5.
clear all;
clc
load lab2_data;
x = radar_noise; % input signal
K = 1000; % K CAPITAL is Block Size
L = length(x) - mod(length(x),K); % only full blocks
zkd = reshape(x(1:L), K, []);
Md=zeros(L,L); % M ZEROS covariance matrix L*L
for i=1:size(zkd,1); % LOOP covariance matrix calculation
Mz=zkd(i,:)*zkd(i,:)';
Md=Md+Mz;
end
Md=Md/K;

Best Answer

>> zkd = rand(30,3) + i*rand(30,3);
>> R = sum(zkd * zkd');
>> size(R)
ans =
1 30
>> R
R =
Columns 1 through 2
43.7252707339352 - 14.3845494385565i 37.9012903137849 - 1.21833325457709i
Columns 3 through 4
44.0278780546839 - 5.91428978829146i 40.0850287858898 - 10.9783386248396i
The exact values are not important, but it is clear that all of the values are not the same.
If your zkd is 1000 by 5 then zkd*zkd' is going to be 1000 by 1000, and sum(zkd*zkd') is going to be 1 by 1000, in contradiction to your indication that M is 1000 by 1000.