我想在0
到n-1
内重新缩放数组,其中n
是数组中唯一元素的数量。例如,如果数组有4个这样的唯一元素:
array = [0; 0; 0; 3; 3; 3; 3; 5; 5; 5; 6; 6]
然后输出将在0
到3
内重新调整。所以对于上面的数组,它将是:
output =[0; 0; 0; 1; 1; 1; 1; 2; 2; 2; 3; 3]
怎么做?
答案 0 :(得分:3)
如果要将每个唯一值替换为从0到唯一值总数减1的数字,按照它们首次出现在数组中的顺序对它们进行标记,则可以使用函数的第三个输出{ {3}}喜欢这样:
array = [0; 0; 0; 3; 3; 3; 3; 5; 5; 5; 6; 6];
[~, ~, label] = unique(array, 'stable');
label = label-1;
label =
0
0
0
1
1
1
1
2
2
2
3
3