16 lines
405 B
Matlab
16 lines
405 B
Matlab
function [RICs, RIC] = get_ric(A, K)
|
|
sample_times = 500;
|
|
[m, n] = size(A);
|
|
RICs = zeros(2 * sample_times, 1);
|
|
|
|
for i = 1: sample_times
|
|
indices = randperm(n, K);
|
|
A_Lambda = A(:, indices(:));
|
|
B = conj(A_Lambda') * A_Lambda;
|
|
eig_B = real(eig(B));
|
|
RICs(2 * i - 1) = min(eig_B) - 1;
|
|
RICs(2 * i) = max(eig_B) - 1;
|
|
end
|
|
|
|
RIC = max(RICs);
|
|
end |