Cody

Problem 42635. Maximum of each diagonal

Solution 2103587

Submitted on 23 Jan 2020
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
assert(isempty(maxdiag([])))

2   Pass
x = randi(100); assert(isequal(maxdiag(x),x))

3   Fail
x = randi(100,100,1); assert(isequal(maxdiag(x),x(end:-1:1)'))

Unable to perform assignment because the left and right sides have a different number of elements. Error in maxdiag (line 7) y(idx) = max(diag(x,-i)); Error in Test3 (line 2) assert(isequal(maxdiag(x),x(end:-1:1)'))

4   Fail
x = randi(100,1,100); assert(isequal(maxdiag(x),x))

Unable to perform assignment because the left and right sides have a different number of elements. Error in maxdiag (line 15) y(idx) = max(diag(x,i)); Error in Test4 (line 2) assert(isequal(maxdiag(x),x))

5   Pass
x = eye(2); assert(isequal(maxdiag(x),[0 1 0]))

6   Pass
x = magic(3); assert(isequal(maxdiag(x),[4 9 8 7 6]))

7   Pass
x = flipud(hankel(1:1000)); assert(isequal(maxdiag(x),[1:1000,zeros(1,1000-1)]))

8   Pass
x = toeplitz(1:1000); assert(isequal(maxdiag(x),[1000:-1:1,2:1000]))

9   Pass
N = randi(1000); x = fliplr(toeplitz(1:N)); assert(isequal(maxdiag(x),[1:N,N-1:-1:1]))

10   Pass
x = magic(10); x = x(:,1:3); assert(isequal(maxdiag(x),[11 18 100 94 17 86 93 87 98 92 99 1]))

11   Pass
x = hankel(-4:0,0:-2:-16); assert(isequal(maxdiag(x),[0 -1 0 -1 0 -1 0 -1 0 -2 -4 -6 -8]))

Suggested Problems

More from this Author44

Community Treasure Hunt

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

Start Hunting!