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 仅通过第一行对3D矩阵进行排序_Matlab_Sorting_Matrix - Fatal编程技术网

Matlab 仅通过第一行对3D矩阵进行排序

Matlab 仅通过第一行对3D矩阵进行排序,matlab,sorting,matrix,Matlab,Sorting,Matrix,我很难按照我想要的行对3D矩阵进行排序,但仍然让其他两列与排序后的行匹配 ex)分拣前: 5 4 1 4 6 3 9 6 5 排序后: 1 4 5 3 6 4 5 6 9 因此,只有第一行按升序排序,其他两行只保留在各自的列中 我尝试过排序(矩阵(1,:,:),但这似乎可以对所有三行进行排序。我猜有一些matlab函数可以做到这一点,但我没有发现任何东西。谢谢您可以将输出参数与排序一起使用,以便根据需要对矩阵进行重新排序,并建立索引 例如:

我很难按照我想要的行对3D矩阵进行排序,但仍然让其他两列与排序后的行匹配

ex)分拣前:

    5 4 1 
    4 6 3
    9 6 5
排序后:

    1 4 5
    3 6 4
    5 6 9
因此,只有第一行按升序排序,其他两行只保留在各自的列中


我尝试过排序(矩阵(1,:,:),但这似乎可以对所有三行进行排序。我猜有一些matlab函数可以做到这一点,但我没有发现任何东西。谢谢

您可以将输出参数与
排序
一起使用,以便根据需要对矩阵进行重新排序,并建立索引

例如:

clear
clc

a = [5     4     1
     4     6     3
     9     6     5]

 %// Select row of interest
 row = 1;

 [values,indices] = sort(a(row,:)) %// Since you have a 3D matrix use "a(row,:,:)"

 b = a(:,indices) %// In 3D use "b = a(:,indices,:)"
输出:

b =

     1     4     5
     3     6     4
     5     6     9

您可以将输出参数与
sort
一起使用,以便根据需要对矩阵进行重新排序,并建立索引

例如:

clear
clc

a = [5     4     1
     4     6     3
     9     6     5]

 %// Select row of interest
 row = 1;

 [values,indices] = sort(a(row,:)) %// Since you have a 3D matrix use "a(row,:,:)"

 b = a(:,indices) %// In 3D use "b = a(:,indices,:)"
输出:

b =

     1     4     5
     3     6     4
     5     6     9

您可以将输出参数与
sort
一起使用,以便根据需要对矩阵进行重新排序,并建立索引

例如:

clear
clc

a = [5     4     1
     4     6     3
     9     6     5]

 %// Select row of interest
 row = 1;

 [values,indices] = sort(a(row,:)) %// Since you have a 3D matrix use "a(row,:,:)"

 b = a(:,indices) %// In 3D use "b = a(:,indices,:)"
输出:

b =

     1     4     5
     3     6     4
     5     6     9

您可以将输出参数与
sort
一起使用,以便根据需要对矩阵进行重新排序,并建立索引

例如:

clear
clc

a = [5     4     1
     4     6     3
     9     6     5]

 %// Select row of interest
 row = 1;

 [values,indices] = sort(a(row,:)) %// Since you have a 3D matrix use "a(row,:,:)"

 b = a(:,indices) %// In 3D use "b = a(:,indices,:)"
输出:

b =

     1     4     5
     3     6     4
     5     6     9
另一种方法是使用

另一种方法是使用

另一种方法是使用

另一种方法是使用



我只是想澄清一下,这里是一个2D矩阵。我的错误是,我处理的是一个尺寸为100x100x3的彩色图像。3代表红色、绿色和蓝色。同样的问题好吧,那么我下面的回答应该会对你有所帮助。我会编辑的。太棒了,谢谢。太好了,不客气!我只是想澄清一下,这里是一个2D矩阵。我的错误是,我处理的是一个尺寸为100x100x3的彩色图像。3代表红色、绿色和蓝色。同样的问题好吧,那么我下面的回答应该会对你有所帮助。我会编辑的。太棒了,谢谢。太好了,不客气!我只是想澄清一下,这里是一个2D矩阵。我的错误是,我处理的是一个尺寸为100x100x3的彩色图像。3代表红色、绿色和蓝色。同样的问题好吧,那么我下面的回答应该会对你有所帮助。我会编辑的。太棒了,谢谢。太好了,不客气!我只是想澄清一下,这里是一个2D矩阵。我的错误是,我处理的是一个尺寸为100x100x3的彩色图像。3代表红色、绿色和蓝色。同样的问题好吧,那么我下面的回答应该会对你有所帮助。我会编辑的。太棒了,谢谢。太好了,不客气!快速问题,在B= A(:,索引,:)为什么索引放置在中间?因为索引对应于列,这是第二维:快速问题,在B= A(:,索引,:)为什么索引放置在中间?因为索引对应于列,这是第二维:)快速问题,在B= A(:,索引,:)为什么索引放在中间?因为索引对应于列,这是第二维:快速问题,在B= A(:,索引,:)为什么索引放在中间?因为索引对应于列,这是第二维:)这是我的方法。too@LuisMendo谢谢这是对我的一个极大的赞美:)这将是我的方法too@LuisMendo谢谢这是对我的一个极大的赞美:)这将是我的方法too@LuisMendo谢谢这是对我的一个极大的赞美:)这将是我的方法too@LuisMendo谢谢这是对我的一个极大的赞美:)