Pulling subset from a 2D matrix

6 visualizaciones (últimos 30 días)
Simon
Simon el 5 de Sept. de 2013
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

Respuesta aceptada

Azzi Abdelmalek
Azzi Abdelmalek el 5 de Sept. de 2013
Editada: Azzi Abdelmalek el 5 de Sept. de 2013
a=[1 1 1 ; 2 2 2 ; 3 3 3]
b==a<3
mySubset=a.*b
  4 comentarios
Simon
Simon el 5 de Sept. de 2013
Thanks! I was not aware of the function all()
Roger Stafford
Roger Stafford el 5 de Sept. de 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.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Logical en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by