If I have a large matrix with 20 * 13 and each row with random rank from 1 to 13, how can I extend your command to my case? Thank you for help
How to count the number of the rank in each column of a matrix.
2 次查看(过去 30 天)
显示 更早的评论
Load a rank matrix
1 2 3;
2 3 1;
2 1 3;
3 1 2;
1 3 2
How do I count the number of the rank in each column:
The desired output of counting matrix is as follows:
Rank First column Second column Third column
1 2 2 1
2 2 1 2
3 1 2 2
Thank you very much.
7 个评论
FannoFlow
2023-5-17
ah it appears the matrix needed to be transposed, thats all.
m = [1 2 3 4 5; 2 5 3 1 4; 2 1 3 5 4; 3 1 2 4 5; 5 4 1 3 2]
u = unique(m);
T = array2table(squeeze(sum(m == permute(u,[3,2,1]), 1)).', RowNames=string(u), VariableNames="Column " + (1:size(m,2)))
采纳的回答
FannoFlow
2023-5-17
m = [
1 2 3;
2 3 1;
2 1 3;
3 1 2;
1 3 2]
c = squeeze(sum(m == permute(1:3,[3,1,2]), 1))
0 个评论
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!