Cody

Problem 2813. Create a block diagonal matrix

Solution 1709930

Submitted on 18 Jan 2019
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   Fail
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 = 3×1 cell array {1×3 double} {1×3 double} {1×3 double}

Assertion failed.

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

ans = 3×1 cell array {0×0 double} {0×0 double} {0×0 double}

Assertion failed.

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

ans = 0×1 empty cell array

Assertion failed.

4   Fail
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 = 4×1 cell array {2×1 double} {2×1 double} {2×1 double} {2×1 double}

Assertion failed.

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

ans = 23×1 cell array {[6]} {[6]} {[6]} {[6]} {[6]} {[6]} {[6]} {[6]} {[6]} {[6]} {[6]} {[6]} {[6]} {[6]} {[6]} {[6]} {[6]} {[6]} {[6]} {[6]} {[6]} {[6]} {[6]}

Assertion failed.

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

ans = 2×1 cell array {5×5 double} {5×5 double}

Assertion failed.

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

ans = 1×1 cell array {13×8 double}

Assertion failed.

Suggested Problems

More from this Author1

Community Treasure Hunt

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

Start Hunting!