I currently have the following table... where 'speed' and 'temp' columns can only have a value of '1' or '2'.
I am wanting to extract rows that have identical values for the first 5 columns (Ric, int_1, Rmd, int_2, Roo) but only if they appear for all combinations of the last two columns (speed, temp).
For the table above, there are 4 combinations of speed and temp (1 1; 1 2; 2 1; 2 2). Only rows 3-6 and 10-13 have identical values for all 4 combinations so my output table would be...
How could I do this?
Thanks

 採用された回答

Mohammad Sami
Mohammad Sami 2020 年 3 月 24 日
編集済み: Mohammad Sami 2020 年 3 月 24 日

0 投票

% a = sometable, % assume no repeat of columns 6:7 for combination of 1:5
[b,ia,ic] = unique(a(:,1:5),'rows');
n = accumarray(ic,ic,[],@length);
out = a(ismember(ic,find(n==4)),:)

1 件のコメント

Levi Mallin
Levi Mallin 2020 年 3 月 24 日
Perfect! Thanks for the quick response. Now just to work out how that all works...

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File Exchange で Matrices and Arrays についてさらに検索

製品

リリース

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by