【发布时间】:2015-09-11 09:47:15
【问题描述】:
我想在 Matlab 中对 3-d 矩阵A 的每一行中的元素进行排序。该矩阵的维度为(m)x(n)x(g)。 g 设置为等于3。顺序应按升序排列,首先写到A(:,:,1),然后写到A(:,:,2),最后写到A(:,:,3)。
例如:
A(:,:,1)=[3 1 1; 4 5 6; 0 0 0; 1 1 1];
A(:,:,2)=[3 3 4; 1 4 0; 0 1 0; 2 1 7];
A(:,:,3)=[6 7 9; 6 6 0; 6 5 0; 0 0 0];
%Step 1: Order wrto A(:,:,1)
A(:,:,1)=[1 1 3; 4 5 6; 0 0 0; 1 1 1];
A(:,:,2)=[3 4 3; 1 4 0; 0 1 0; 2 1 7];
A(:,:,3)=[7 9 6; 6 6 0; 6 5 0; 0 0 0];
%Step 2: Within the order in Step 1, order wrto A(:,:,2)
A(:,:,1)=[1 1 3; 4 5 6; 0 0 0; 1 1 1];
A(:,:,2)=[3 4 3; 1 4 0; 0 0 1; 1 2 7];
A(:,:,3)=[7 9 6; 6 6 0; 6 0 5; 0 0 0];
%Step 3: Within the order in Step 1 and 2, order wrto A(:,:,3)
A(:,:,1)=[1 1 3; 4 5 6; 0 0 0; 1 1 1];
A(:,:,2)=[3 4 3; 1 4 0; 0 0 1; 1 2 7];
A(:,:,3)=[7 9 6; 6 6 0; 0 6 5; 0 0 0];
【问题讨论】:
-
对于排序操作,m和n有什么规范吗?或者您只是独立于 m 和 n 对第 3 维进行排序?
-
我不确定我明白你的意思。在 abive 的示例中,m=4,n=3。 g 始终设置为 3。
标签: arrays matlab sorting multidimensional-array