how to create block circulant matrix?

34 vues (au cours des 30 derniers jours)
sai prudhvi
sai prudhvi le 14 Avr 2020
Commenté : Akira Agata le 15 Avr 2020
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.
Akira Agata
Akira Agata le 15 Avr 2020
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 Help Center 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