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

3 Ansichten (letzte 30 Tage)
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 !

Akzeptierte Antwort

Andrei Bobrov
Andrei Bobrov am 4 Aug. 2019
C = repmat({A},n,1);
out = blkdiag(C{:});

Weitere Antworten (0)

Tags

Produkte


Version

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by