Problem 320. Maintain shape of logical-index mask
When using logical indexing into an array, MATLAB returns a vector output. For example, if
A = magic(3);
mask = logical([0 1 1; 0 1 1; 0 1 1]);
returns the output
1 5 9 6 7 2
But when the mask has a block format (as in this example), it is sometimes desirable to maintain that block shape in the output. So, in this case, the desired output would be
1 6 5 7 9 2
In other words, the output is the same shape as the logical index block.
The (first) input array A will be two-dimensional, and the (second) input array mask will be a logical that is guaranteed to have the block characteristic.
Solution CommentsShow comments
Problem Recent Solvers67