如何在matlab中对特定行进行排序

如何在matlab中对特定行进行排序,matlab,matrix,Matlab,Matrix,我有一个15x100矩阵,我只想按升序对前10行进行排序,matlab代码会做什么 编辑:对每列的前10行进行排序 x(1:10, :) = sortrows(x(1:10, :), 1:size(x,2)); sortrows的第二个参数告诉它要按哪个顺序对哪些列进行排序。因此1:size(x,2)将依次按每列进行排序(升序) 如果您确实希望所有列都能完全排序(第1行到第10行),并且不保持行的完整性(即,在原始行中再也找不到每一行),那么(尽管这很奇怪): 怎么样sortrows(x(1:

我有一个15x100矩阵,我只想按升序对前10行进行排序,matlab代码会做什么

编辑:对每列的前10行进行排序

x(1:10, :) = sortrows(x(1:10, :), 1:size(x,2));
sortrows
的第二个参数告诉它要按哪个顺序对哪些列进行排序。因此
1:size(x,2)
将依次按每列进行排序(升序)

如果您确实希望所有列都能完全排序(第1行到第10行),并且不保持行的完整性(即,在原始行中再也找不到每一行),那么(尽管这很奇怪):


怎么样
sortrows(x(1:10,:)
?根据我的实验,它生成一个新的矩阵,只有10行,并且只按特定列进行排序。我刚刚尝试了那行代码,它对第一列非常有效,但其余列仍然没有按升序排序。我标记了我的矩阵B并使用了B(1:10,:)=sortrows(B(1:10,:),1:size(B,2))它只对第一列起作用。它会重新排列其他行,但不会按升序排列。它们依次排序,所以先按列1排序,然后按列2排序。你是说你希望在每列中对前10行进行排序,以便将所有行都弄乱吗?谢谢,这非常有效。对不起,我的原稿不太清楚我的问题。谢谢你的时间和帮助!@William Sure thing,如果有效,请单击答案左上角的勾号将其标记为正确:)@Bradyshehan是的,但你还必须在其他地方更改列索引,即:
x(1:10,1:n)=sortrows(x(1:10,1:n),1:n
for col = 1:size(B, 2)
    B(1:10, col) = sort(B(1:10, col));
end