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

3 views (last 30 days)
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 !

Accepted Answer

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

More Answers (0)

Tags

Products


Release

R2019a

Community Treasure Hunt

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

Start Hunting!