Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MATLAB-根据向量的排序方式对矩阵进行排序_Matlab_Sorting_Vector_Matrix - Fatal编程技术网

MATLAB-根据向量的排序方式对矩阵进行排序

MATLAB-根据向量的排序方式对矩阵进行排序,matlab,sorting,vector,matrix,Matlab,Sorting,Vector,Matrix,可能重复: 我有一个429个值的向量'a'和一个429x200个值的矩阵'B'。A和B中的行共享相同的索引。我的向量“A”包含值1:1:429,但它们在整个向量中是随机排序的。我想对A重新排序,使其索引顺序从1到429,我还想对矩阵“B”中的行按与新排序的“A”相同的顺序排序 如果没有for循环,这可以快速轻松地完成吗 下面是一个例子来说明我的观点: A = 5 3 1 2 4 B = 3 7 0 4 6 1

可能重复:

我有一个429个值的向量'a'和一个429x200个值的矩阵'B'。A和B中的行共享相同的索引。我的向量“A”包含值1:1:429,但它们在整个向量中是随机排序的。我想对A重新排序,使其索引顺序从1到429,我还想对矩阵“B”中的行按与新排序的“A”相同的顺序排序

如果没有for循环,这可以快速轻松地完成吗

下面是一个例子来说明我的观点:

A =
    5
    3
    1
    2
    4


 B =
    3   7   0   4   6
    1   2   5   0   8
    4   0   2   0   0
    3   0   1   0   5
    2   2   3   4   4


sortedA = 

1
2
3
4
5

sortedB =

4   0   2   0   0
3   0   1   0   5
1   2   5   0   8
2   2   3   4   4
3   7   0   4   6
谢谢大家

示例数据:

A = [ 5, 3, 1, 2, 4 ]';

B = [ 3, 7, 0, 4, 6; 1, 2, 5, 0, 8; 4, 0, 2, 0, 0; 3, 0, 1, 0, 5; 2, 2, 3, 4, 4 ]
对矩阵进行排序:

[sortedA,IX] = sort(A);

sortedB = B(IX,:);

sortedA =
 1
 2
 3
 4
 5

sortedB =
 4     0     2     0     0
 3     0     1     0     5
 1     2     5     0     8
 2     2     3     4     4
 3     7     0     4     6