selecting different criteria for logicals

I have a 100 x 2 matrix and would need to filter those rows that has 2 in the first column, and 3 in the second column into a logical.
How should I go about this? Thank you! :)

 Respuesta aceptada

Rik
Rik el 28 de Ag. de 2019
L=data(:,1)==2 & data(:,2)==3;

6 comentarios

Guillaume
Guillaume el 28 de Ag. de 2019
Editada: Guillaume el 28 de Ag. de 2019
Another option:
L = all(data(:, [1, 2]) == [2, 3]) %R2016b or later
Cside
Cside el 28 de Ag. de 2019
i realized the matrix is a struct, == does not seem to work :/
Rik
Rik el 28 de Ag. de 2019
Then you need to extract a matrix from the struct. What is the actual description of your data?
Cside
Cside el 28 de Ag. de 2019
its a 1x 100 struct, with 3 fields (the 2nd and 3rd field to be extracted to a new matrix of 100 X2)
%create some data
s=struct;
for n=1:100
s(1,n).field_a=randi(10,1,1);
s(1,n).field_b=randi(10,1,1);
s(1,n).field_c=randi(10,1,1);
end
data=[s.field_b;s.field_c]';
L=data(:,1)==2 & data(:,2)==3;
Cside
Cside el 30 de Ag. de 2019
Thank you! I got it :)

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Data Type Conversion en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 28 de Ag. de 2019

Comentada:

el 30 de Ag. de 2019

Community Treasure Hunt

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

Start Hunting!

Translated by