Cody

# Problem 320. Maintain shape of logical-index mask

Solution 1893130

Submitted on 6 Aug 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 = magic(3); mask = logical([0 1 1; 0 1 1; 0 1 1]); y_correct = [1 6; 5 7; 9 2]; assert(isequal(logicalBlock(A,mask),y_correct))

Error using reshape To RESHAPE the number of elements must not change. Error in logicalBlock (line 2) y = reshape( A(mask),size( A )); % This will make a vector, not a block Error in Test1 (line 4) assert(isequal(logicalBlock(A,mask),y_correct))

2   Fail
A = magic(4); mask = logical([0 0 0 0; 0 1 1 0; 0 1 1 0; 0 0 0 0]); y_correct = [11 10; 7 6]; assert(isequal(logicalBlock(A,mask),y_correct))

Error using reshape To RESHAPE the number of elements must not change. Error in logicalBlock (line 2) y = reshape( A(mask),size( A )); % This will make a vector, not a block Error in Test2 (line 4) assert(isequal(logicalBlock(A,mask),y_correct))

3   Fail
A = magic(4); mask = logical([1 1 1 0; 1 1 1 0; 0 0 0 0; 0 0 0 0]); y_correct = [16 2 3; 5 11 10]; assert(isequal(logicalBlock(A,mask),y_correct))

Error using reshape To RESHAPE the number of elements must not change. Error in logicalBlock (line 2) y = reshape( A(mask),size( A )); % This will make a vector, not a block Error in Test3 (line 4) assert(isequal(logicalBlock(A,mask),y_correct))

4   Pass