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.

 Akzeptierte Antwort

Star Strider
Star Strider am 30 Mär. 2016

0 Stimmen

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

Weitere Antworten (1)

Adam
Adam am 30 Mär. 2016
Bearbeitet: Adam am 30 Mär. 2016

0 Stimmen

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

Kategorien

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by