我想做的是生成一个矩阵,如"a=[8,9,5;15,10,17];"并将第一行按升序排列。然而,我也希望第二排按照同样的顺序排列。所以我想要一个"A=[5,8,9;17,10,15];"的输出。如何在MATLAB中执行此操作?提前谢谢。
您希望使用sort
函数的功能。
来自MathWorks网站:
B = sort(A)
B = sort(A,dim)
B = sort(___,direction)
B = sort(___,Name,Value)
[B,I] = sort(___)
第一个返回参数是排序列表,第二个是排序列表的索引。这些可以用于以与原始输入排序相同的方式打乱另一个列表。这将在对第一行进行排序后应用于第二行。
A = [8,9,5;15,10,17];
[B, I] = sort(A(1, :)); % defaults to ascending order
A(1, :) = B;
A(2, :) = A(2, I); % "shuffle" the second row to match the sorting order