Reverse of find groups

1 回表示 (過去 30 日間)
Haneya Qureshi
Haneya Qureshi 2021 年 12 月 17 日
編集済み: Jan 2021 年 12 月 17 日
I have used findgroups to convert 2 column data to single column unique values. Like 1,1 was converted to 1. 1,2 to 2. 2,1 to 3. 2,2 to 4 and so on. I now want to reverse this operation, i.e., given integer from 1 to 48, I would like to get back the two column values.

回答 (1 件)

Jan
Jan 2021 年 12 月 17 日
編集済み: Jan 2021 年 12 月 17 日
Use the 2nd output of findgroups:
A = [1,1; 1,2; 2,2; 3,3; 3,4; 1,3; 1,2];
[G, ID1, ID2] = findgroups(A(:, 1), A(:, 2));
AG = [ID1, ID2];
Now the i.th row of AG contains the 2 column values of the i.th group of G.
AG(3, :)
ans = 1×2
1 3
I assume unique('rows') is more efficient here.

カテゴリ

Help Center および File ExchangeNumeric Types についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by