Pulling subset from a 2D matrix
7 views (last 30 days)
Show older comments
Hi,
I am struggling how to extract part of a 2D matrix based on logical criteria:
example:
a=[1 1 1 ; 2 2 2 ; 3 3 3]
b=a<3 % let say I want to have the subset where a<3
mySubset=a.*b
how can I obtain the subset using logic and not having a line of zeros where a=3?
Thanks
0 Comments
Accepted Answer
Azzi Abdelmalek
on 5 Sep 2013
Edited: Azzi Abdelmalek
on 5 Sep 2013
a=[1 1 1 ; 2 2 2 ; 3 3 3]
b==a<3
mySubset=a.*b
4 Comments
Roger Stafford
on 5 Sep 2013
The 'all' method only works if all elements of a row in 'a' are less than 3. In general I think what you really want is
mySubset = a(b);
The result will be a one-dimensional array but in the general case that is unavoidable.
More Answers (0)
See Also
Categories
Find more on Logical in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!