matlab:對一個向量進行排序,返回每一個數據的rank 序號 。。。


%% Rank the entropy_loss     
% for iiii = 1:size(Group_age, 1)  
%     count_1 = 0 ;
%     tmp = Group_age(iiii, 1);
%     for jjj = 1:size(Group_age, 1)
%         if (Group_age(jjj, 1) > tmp)
%             count_1 = count_1 + 1;
%         else
%             continue;
%         end
%     end
%     Rank_age(iiii, 1) = count_1 + 1;    
% end

返回的序號絕逼是錯誤的額。。為何?

利用 matlab sort 函數,就可以了,如:

 

>> X = [3 7 5 0 4 2 ];
>> [y, index] = sort(X)

y =

     0     2     3     4     5     7


index =

     4     6     1     5     3     2

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM