matlab提取一组数列中不同的数值,并按顺序排列

在做kmeans聚类时,每次输出的标签顺序都不同,导致画图时,每次画的颜色都不同,故编写了一个提取数列中不同数值的小算法,

举个例子:如果数列是 1 3 3 1 4 3 2, 提取到的结果是1 3 4 2 ,提取第一次出现的数据

 

idx为待提取的数列,idxx为提取之后的数列

idxx = idx(1); 
kk= 2;
for i = 1:length(idx)
    for ii = 1:length(idxx)
        if idxx(ii) == idx(i)
            flag = 1;
            break;
        else
            flag = 0;
        end
    end
   if flag == 0
      idxx(kk) = idx(i);
      kk = kk+1;
   end
end

你可能感兴趣的:(matlab)