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.

 採用された回答

Star Strider
Star Strider 2016 年 3 月 30 日

0 投票

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

その他の回答 (1 件)

Adam
Adam 2016 年 3 月 30 日
編集済み: Adam 2016 年 3 月 30 日

0 投票

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

カテゴリ

ヘルプ センター および File ExchangeMatrix Indexing についてさらに検索

製品

タグ

質問済み:

2016 年 3 月 30 日

回答済み:

2016 年 3 月 30 日

Community Treasure Hunt

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

Start Hunting!

Translated by