I'm working on a project where I'm given a large matrix. I'm trying to isolate all third column values that fit into a certain group (ie an array of all values in the third column when column 1 is equal to 5 and column 2 is equal to 4). I've tried using logical indexing to accomplish this but have so far failed. Any help would be greatly appreciated.

 Respuesta aceptada

Star Strider
Star Strider el 30 de Mzo. de 2016

0 votos

Logical indexing is the way to go. You need to set the logic up correctly:
This works:
M = randi(9, 1000, 3); % Create Data
M(10, 1:2) = [5 4]; % Be Certain One Row Matches Criteria
Out = M((M(:,1) == 5) & (M(:,2) == 4), 3); % Desired Result

Más respuestas (1)

Adam
Adam el 30 de Mzo. de 2016
Editada: Adam el 30 de Mzo. de 2016

0 votos

myMatrix = randi( 10, 1000, 3 );
condition = myMatrix( :, 1 ) == 5 & myMatrix( :, 2 ) == 4;
result = myMatrix( condition, 3 );

Categorías

Productos

Etiquetas

Preguntada:

el 30 de Mzo. de 2016

Respondida:

el 30 de Mzo. de 2016

Community Treasure Hunt

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

Start Hunting!

Translated by