How to strink matrix using array mask in Matlab?

Posted by Pyrolistical on Stack Overflow See other posts from Stack Overflow or by Pyrolistical
Published on 2010-04-29T17:53:23Z Indexed on 2010/04/29 17:57 UTC
Read the original article Hit count: 450

Filed under:
|
|
|
|

This seems to be a very common problem of mine.

data = [1 2 3; 4 5 6];
mask = [true false true];

mask = repmat(mask, 2, 1);

data(mask) ==> [1; 4; 3; 6]

What I wanted was [1 3; 4 6]

Yes I can just reshape it to the right size, but that seems the wrong way to do it. Is there a better way? Why doesn't data(mask) return a matrix when it is actually rectangular? I understand in the general case it may not be, but in my case since my original mask is an array it always will be.

© Stack Overflow or respective owner

Related posts about matlab

Related posts about array