Cody

Problem 589. Matrix indexing with two vectors of indices

Solution 1944718

Submitted on 21 Sep 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
M = rand(4); a = [4 3 2 1]; b = [1 2 3 4]; v_correct = M([4 7 10 13]); assert(isequal(twoIndex(M,a,b),v_correct))

Array indices must be positive integers or logical values. Error in twoIndex (line 2) v = M([M(a) M(b)]); Error in Test1 (line 5) assert(isequal(twoIndex(M,a,b),v_correct))

2   Fail
M = rand(4); a = [3 3 1 3]; b = [1 1 3 1]; v_correct = M([3 3 9 3]); assert(isequal(twoIndex(M,a,b),v_correct))

Array indices must be positive integers or logical values. Error in twoIndex (line 2) v = M([M(a) M(b)]); Error in Test2 (line 5) assert(isequal(twoIndex(M,a,b),v_correct))

3   Fail
M = rand(100); [a,b] = size(M); v_correct = M(end); assert(isequal(twoIndex(M,a,b),v_correct))

Array indices must be positive integers or logical values. Error in twoIndex (line 2) v = M([M(a) M(b)]); Error in Test3 (line 4) assert(isequal(twoIndex(M,a,b),v_correct))

4   Pass
M = rand(100); a = []; b = []; assert(isempty(twoIndex(M,a,b)))

5   Fail
M = 1; a = [1 1 1 1 1]; b = [1 1 1 1 1]; v_correct = [1 1 1 1 1]; assert(isequal(twoIndex(M,a,b),v_correct))

Assertion failed.