Matlab使用uinque函數重排标号
一、前言
在資料處理過程中,經常使用标号對數進行标記,标記後的資料可能不是從1開始,是以就需要對資料進行重新标号,友善後期處理。譬如說:A = [3;1;3;2;4;1;3;2;1;1];我們想得到的結果其實是B=[1;2;1;3;4;2;1;3;2;2]。此方法在聚類算法過程中比較常見。也可配合gscatter函數進行分類。
二、參考資料
官方指導:官方unique函數
三、代碼
A = [3;1;3;2;4;1;3;2;1;1];
B = zeros(length(A),1);
[C, ia, ic] = unique(A,'stable');
clusterNum1 = length(unique(A)); %
for i=1:clusterNum1
B(find(A == C(i))) = i;
end
注意unique的使用‘stable’。