Filter löschen
Filter löschen

Pls help me generate circulant matrix

2 Ansichten (letzte 30 Tage)
Janet
Janet am 6 Mär. 2012
Bearbeitet: Emmanuel Ijiga am 2 Okt. 2016
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)

Akzeptierte Antwort

Honglei Chen
Honglei Chen am 6 Mär. 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 Kommentar
Jan
Jan am 6 Mär. 2012
@melody: You do not have to create two equal matrices to join them. h = [h1, h1] is ok.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Emmanuel Ijiga
Emmanuel Ijiga am 2 Okt. 2016
Bearbeitet: Emmanuel Ijiga am 2 Okt. 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

Kategorien

Mehr zu Mathematics finden Sie in Help Center und File Exchange

Tags

Noch keine Tags eingegeben.

Community Treasure Hunt

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

Start Hunting!

Translated by