how to create block circulant matrix?

5 visualizaciones (últimos 30 días)
sai prudhvi
sai prudhvi el 14 de Abr. de 2020
Comentada: Akira Agata el 15 de Abr. de 2020
i need to create mn*mn block circulant matrix ie m blocks of n*n matrices. please help me

Respuesta aceptada

Akira Agata
Akira Agata el 14 de Abr. de 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 comentarios
sai prudhvi
sai prudhvi el 14 de Abr. de 2020
i accept but if matrix elements is complex numbers then how to create the matrix.
Akira Agata
Akira Agata el 15 de Abr. de 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);

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Modeling en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by