如何在MATLAB中根据矩阵的第一行重新排列矩阵



我想做的是生成一个矩阵,如"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

相关内容

  • 没有找到相关文章

最新更新