简
我的情况是:
我得到一个1000 * 2的矩阵和一个1000 * 1的向量。
并且矩阵中的行i映射到向量中的元素i。
向量中的元素都是整数。
现在,我想从低到高对向量中的元素进行排序。
我想获得一个具有新向量序列的新矩阵。映射关系与原始情况相同。
在Matlab中如何做到这一点?
谢谢!
和
用途sortrows
:
首先将向量连接到矩阵:
M2 = [V, M];
然后对行进行排序:
M2 = sortrows(M2); %// You should just do sortrows([V, M]) here, I just split it for the explanation
然后拆分向量和矩阵:
V_sorted = M2(:,1);
M_sorted = M2(:, 2:end);
或者,您可以使用来自的第二个输出sort
:
[V_sorted, newRowOrder] = sort(V);
M_sorted = M(newRowOrder, :);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
编辑于
我来说两句