Pulling subset from a 2D matrix

6 次查看(过去 30 天)
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

采纳的回答

Azzi Abdelmalek
Azzi Abdelmalek 2013-9-5
编辑:Azzi Abdelmalek 2013-9-5
a=[1 1 1 ; 2 2 2 ; 3 3 3]
b==a<3
mySubset=a.*b
  4 个评论
Simon
Simon 2013-9-5
Thanks! I was not aware of the function all()
Roger Stafford
Roger Stafford 2013-9-5
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.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

标签

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by