Find unique values of a vector with same order as in the vector in matlab

后端 未结 3 1458
执笔经年
执笔经年 2021-01-19 14:03

I have a vector A=[2,5,6,2,4,13,34,3,34]. I want to find a unique value of this vector but not in sorted order! I searched in Matlab site and I found this function

3条回答
  •  醉梦人生
    2021-01-19 14:16

    Here's an implementation if you are working with 2D arrays and would like to get the same functionality as unique(A,'rows','stable') -

    function [C, ia, ic] = unique_rows_stable(A)
    
    [unqmat_notinorder,row_ind,labels] = unique(A,'rows','first');
    
    [ia,ordered_ind] = sort(row_ind);
    
    C = unqmat_notinorder(ordered_ind,:);
    
    [~,ic] = ismember(labels,ordered_ind);
    %// Or [ic,~] = find(bsxfun(@eq,ordered_ind,labels'))
    
    return;
    

提交回复
热议问题