i need to create mn*mn block circulant matrix ie m blocks of n*n matrices. please help me

 Réponse acceptée

Akira Agata
Akira Agata le 14 Avr 2020
How about the following?
% For simple example
n = 3;
m = 2;
% Create n-by-n circulant matrix
B_block = gallery('circul',1:n)';
% Create nm-by-nm block circulant matrix
B_all = repmat(B_block,m);

2 commentaires

sai prudhvi
sai prudhvi le 14 Avr 2020
i accept but if matrix elements is complex numbers then how to create the matrix.
I believe the same approach should work, like:
% For simple example
n = 3;
m = 2;
% Create n-by-n complex circulant matrix
Re = gallery('circul',1:n)';
Im = gallery('circul',1:n)';
B_block = Re + 1i*Im;
% Create nm-by-nm block circulant matrix
B_all = repmat(B_block,m);

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Modeling dans Centre d'aide et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by