How do I make a block diagonal matrix using blkdiag function for a N dimensions

5 visualizzazioni (ultimi 30 giorni)
I have a matrix A which can be converted using the
blkdiag(A,A);
for 2D and m
blkdiag(A,A,A);
for 3D but I want the user to input the dimension and based on that a block diagonal matrix has to be generated something like
blkdiag(A,A,A....An);
. I know we have to use loops but i cant wrap my head around the actual code, if anyone could help that'd be great !

Risposta accettata

Andrei Bobrov
Andrei Bobrov il 4 Ago 2019
C = repmat({A},n,1);
out = blkdiag(C{:});

Più risposte (0)

Tag

Prodotti


Release

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by