我有以下mxn矩阵:
X = [-0.0061 -0.0108 -0.0098;
0.0092 0.0237 0.0114;
-0.0026 -0.0082 0.0035;
-0.0033 0.0257 -0.0106]
我想要做的是在每列中分配序数等级,即得到以下矩阵Y.
Y = [1 1 2;
4 3 4;
3 2 3;
2 4 1]
我用[〜,〜,ranking] = unique(X)尝试了它,但不幸的是,它考虑了所有矩阵元素并按顺序对它们进行排序,并且没有明确地完成工作。此外,它将等级放在列向量中,而不是上Y矩阵的形状。
感谢您的帮助!
答案 0 :(得分:0)
只需使用sort
的第二个输出。感谢@beaker的更正(见下面的评论);
[~, result] = sort(X, 1);
[~, result] = sort(result, 1);