天天看點

Matlab使用uinque函數重排标号Matlab使用uinque函數重排标号

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’。

四、結果

Matlab使用uinque函數重排标号Matlab使用uinque函數重排标号

繼續閱讀