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 CenterFile Exchange 中查找有关 Numeric Types 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by