Cody

Problem 2587. Find indices of diagonal elements

Solution 2214175

Submitted on 16 Apr 2020 by Jens Kjærgaard Boldsen
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
x = [1 2 3;4 5 6;7 8 9]; a = [1 5 9]; assert(isequal(diag_indices(x,0),a))

dL = 3 y = 1 5 9

2   Pass
x = magic(5); b = 5; assert(isequal(diag_indices(x,-4),b))

dL = 1 y = 5

3   Pass
x = magic(5); a = 21; assert(isequal(diag_indices(x,4),a))

dL = 1 y = 21

4   Pass
x = magic(5); z = 5; assert(isequal(diag_indices(x,-4),z))

dL = 1 y = 5

5   Pass
x = magic(6); a = [19 26 33]; assert(isequal(diag_indices(x,3),a))

dL = 3 y = 19 26 33

6   Pass
x1 = magic(50); y_correct = 50; assert(isequal(diag_indices(x1,-49),y_correct))

dL = 1 y = 50

7   Pass
x2 = magic(50); y_correct = [49 100]; assert(isequal(diag_indices(x2,-48),y_correct))

dL = 2 y = 49 100

8   Pass
y = magic(50); v = [48 99 150]; assert(isequal(diag_indices(y,-47),v))

dL = 3 y = 48 99 150

9   Pass
v=[1 2 3;4 5 6;1 2 3]; t = [1 5 9]; assert(isequal(diag_indices(v,0),t))

dL = 3 y = 1 5 9

10   Pass
x=[1 2;1 2]; y_correct = 3; assert(isequal(diag_indices(x,1),y_correct))

dL = 1 y = 3

11   Pass
x=[1 1 1;1 1 1;1 1 1]; t = [1 5 9]; assert(isequal(diag_indices(x,0),t))

dL = 3 y = 1 5 9

12   Pass
y=[1 2 3;1 2 3]; y_correct = [1 4]; assert(isequal(diag_indices(y,0),y_correct))

dL = 2 y = 1 4

Suggested Problems

More from this Author43

Community Treasure Hunt

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

Start Hunting!