Effacer les filtres
Effacer les filtres

Pls help me generate circulant matrix

2 vues (au cours des 30 derniers jours)
Janet
Janet le 6 Mar 2012
I want to create M x M circulant matrix where M=128
h1=gallery('circul',M:M/2);
h2=gallery('circul',M:M/2);
h=horzcat(h1,h2);
But I get error with this coding.
pls see this link for more info
in page 2 (2.2 mimo-ofdm sytem)

Réponse acceptée

Honglei Chen
Honglei Chen le 6 Mar 2012
You may want to use
M:-1:M/2
in your code, or something like that.
M:M/2
returns an empty vector so there is nothing to construct from it.
BTW, you can also use linspace. Say you want 5 points between M and M/2, just do
linspace(M,M/2,5)
  1 commentaire
Jan
Jan le 6 Mar 2012
@melody: You do not have to create two equal matrices to join them. h = [h1, h1] is ok.

Connectez-vous pour commenter.

Plus de réponses (1)

Emmanuel Ijiga
Emmanuel Ijiga le 2 Oct 2016
Modifié(e) : Emmanuel Ijiga le 2 Oct 2016
M = 20;
input = randi([0 15], 1, M); %Random Input values between 0 and 15
CM = zeros(M,M); %Initialize M X M Circulant Matrix (CM)
CM(1,:) = input; %place the input values in the first row of CM
for kk = 1:(size(CM,1) - 1)
CM(kk+1,1) = CM(kk,end);
CM(kk+1,2:end) = CM([kk],[1:end - 1])
end

Catégories

En savoir plus sur Mathematics dans Help Center et File Exchange

Tags

Aucun tag saisi pour le moment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by