A block diagonal matrix is a square matrix that can be written as
A = [a 0 0 0
0 b 0 0
0 0 c 0
0 0 0 ...]where a, b, c etc. are all square matrices.
Construct A such that
A = [a 0 0 0
0 a 0 0
0 0 a 0
0 0 0 ...]where a is allowed to be non-square or empty and occurs n times. n is always an integer greater than or equal to 0.
Examples:
a = [1 2 3], n = 3
gives
A = [1 2 3 0 0 0 0 0 0
0 0 0 1 2 3 0 0 0
0 0 0 0 0 0 1 2 3]
Solution Stats
Problem Comments
2 Comments
Solution Comments
Show comments
Loading...
Problem Recent Solvers175
Suggested Problems
-
Make the vector [1 2 3 4 5 6 7 8 9 10]
53587 Solvers
-
500 Solvers
-
Return a list sorted by number of consecutive occurrences
438 Solvers
-
Circular Primes (based on Project Euler, problem 35)
658 Solvers
-
Max Change in Consecutive Elements
184 Solvers
More from this Author1
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
If you know a function which is used to create a matrix, you can solve this problem easily !
I thought you referred to the function blkdiag(), but I am surprised to know that it is not the case (for a one-liner)!