3

我正在使用 MATLAB。我有一个矩阵,其中的N元素填充了数字[1; N],但它们之间只有K唯一的数字(K远小于N)。重新标记矩阵以使其仅包含数字的有效[1; K]方法是什么?相等的数应该变成相等,不相等的应该变成不相等。

N = 10,的示例K = 4

[1 4 8 9 4 1 8 9 4 1] -> [1 2 3 4 2 1 3 4 2 1]
  • N ~ 1 000 000
  • K ~ 10 000
4

1 回答 1

8

使用的第三个输出参数unique

a=[1 4 8 9 4 1 8 9 4 1];
[~, ~, b] = unique(a)
b =
     1     2     3     4     2     1     3     4     2     1
于 2012-12-17T12:54:21.380 回答