Problem 2813. Create a block diagonal matrix
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
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)!
Solution Comments
Show commentsProblem Recent Solvers166
Suggested Problems
-
Return the 3n+1 sequence for n
8475 Solvers
-
2815 Solvers
-
Project Euler: Problem 9, Pythagorean numbers
1431 Solvers
-
We love vectorized solutions. Problem 1 : remove the row average.
882 Solvers
-
Tick. Tock. Tick. Tock. Tick. Tock. Tick. Tock. Tick. Tock.
954 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!