repeat a matrix as digonal element in a new matrix?

5 visualizaciones (últimos 30 días)
smabtahi
smabtahi el 30 de Mayo de 2012
Comentada: Muhammad Fiaz el 24 de En. de 2022
Hi
I have a 2D matrix, and I want repeat it a digonal element in a new matrix., somthing like this:
A is 2*3 matrix , and we want reapeat for 10 time like:
B= [ A 0 0 .....0; 0 A 0 .....0; .............. ;0 0 0 ........A]
hence B is a 20*30 matrix. How can make B without using "for"?

Respuesta aceptada

Titus Edelhofer
Titus Edelhofer el 30 de Mayo de 2012
Hi,
I usually use blkdiag:
A = rand(2,3);
ACell = repmat({A}, 1, 10);
BigA = blkdiag(ACell{:});
Titus
  3 comentarios
CLOUDY LU
CLOUDY LU el 8 de Mzo. de 2020
Very useful! Thanks a lot.
Muhammad Fiaz
Muhammad Fiaz el 24 de En. de 2022
Thank you sir.

Iniciar sesión para comentar.

Más respuestas (1)

Walter Roberson
Walter Roberson el 30 de Mayo de 2012
blkdiag() or possibly kron()

Categorías

Más información sobre Operating on Diagonal Matrices en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by