我有这个矩阵A,
A= [10 -12 4 8;
1 3 11 -2;
1 -9 8 0;
1 1 9 3].
Run Code Online (Sandbox Code Playgroud)
如果我在 Matlab 中使用 sortrows 函数B = sortrows(A)
。我会得到这个。
B = [1 -9 8 0;
1 1 9 3;
1 3 11 -2;
10 -12 4 8].
Run Code Online (Sandbox Code Playgroud)
我想要的答案是这样的。
B = [1 3 11 -2;
1 -9 8 0;
1 1 9 3;
10 -12 4 8]
Run Code Online (Sandbox Code Playgroud)
问题是,我想在这里对我的行进行排序,但仅基于第 1 列。如果第 1 列中的值相同,则不要根据第 2 列对它们进行排序(在流派中此函数执行该列)。
如果有人能帮助我,我真的很感激。
谢谢。
仅使用仅保留索引的函数对第一列进行排序sort
,然后使用该索引对整个矩阵进行排序。
A= [10 -12 4 8;
1 3 11 -2;
1 -9 8 0;
1 1 9 3];
[~,ind] = sort(A(:,1))
B = A(ind,:)
Run Code Online (Sandbox Code Playgroud)
或者简单地使用函数的第二个参数sortrows
来精确列排序向量:
B = sortrows(A,1)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
71 次 |
最近记录: |