Cody

# Problem 2813. Create a block diagonal matrix

Solution 552786

Submitted on 6 Jan 2015 by Jan Orwat
This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.

### Test Suite

Test Status Code Input and Output
1   Pass
%% a = [1 2 3]; n = 3; A_correct = [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]; assert(isequal(block_diagonal(a,n),A_correct))

ans = [1x3 double] [1x3 double] [1x3 double]

2   Pass
%% a = []; n = 3; A_correct = []; assert(isequal(block_diagonal(a,n),A_correct))

ans = [] [] []

3   Pass
%% a = [1 2 -3]'; n = 0; A_correct = []; assert(isequal(block_diagonal(a,n),A_correct))

ans = Empty cell array: 1-by-0

4   Pass
%% a = [3 -2]'; n = 4; A_correct = [3 -2 0 0 0 0 0 0; 0 0 3 -2 0 0 0 0; 0 0 0 0 3 -2 0 0; 0 0 0 0 0 0 3 -2]'; assert(isequal(block_diagonal(a,n),A_correct))

ans = [2x1 double] [2x1 double] [2x1 double] [2x1 double]

5   Pass
%% a = 6; n = 23; A_correct = a*eye(n); assert(isequal(block_diagonal(a,n),A_correct))

ans = Columns 1 through 14               Columns 15 through 23         

6   Pass
%% a = magic(5); n = 2; A_correct = [a zeros(5); zeros(5) a]; assert(isequal(block_diagonal(a,n),A_correct))

ans = [5x5 double] [5x5 double]

7   Pass
%% a = randi(100,13,8); n = 1; A_correct = a; assert(isequal(block_diagonal(a,n),A_correct))

ans = [13x8 double]