Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.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_Matrix_Matrix Indexing - Fatal编程技术网

在Matlab中通过选择固定距离的行重塑矩阵

在Matlab中通过选择固定距离的行重塑矩阵,matlab,matrix,matrix-indexing,Matlab,Matrix,Matrix Indexing,我在Matlab中有一个矩阵D,它的维数(a*b)xc,具有以下结构:假设a=3,b=4,c=3 D=[1 1 10; 1 2 11; 1 3 17; 1 4 15; 2 1 68; 2 2 6; 2 3 15; 2 4 7; 3 1 5; 3 2 43; 3 3 0; 3 4 5]; D的第一列包含1和a之间的数字,从1开始,在b行之后增加1。D的第二列列出了[12…b]a-次 我想用以下结构构造维度(a

我在Matlab中有一个矩阵
D
,它的维数
(a*b)xc
,具有以下结构:假设
a=3,b=4,c=3

D=[1 1 10; 
   1 2 11; 
   1 3 17; 
   1 4 15; 
   2 1 68; 
   2 2 6; 
   2 3 15; 
   2 4 7; 
   3 1 5; 
   3 2 43; 
   3 3 0; 
   3 4 5];
D
的第一列包含
1
a
之间的数字,从
1
开始,在
b
行之后增加
1
D
的第二列列出了
[12…b]
a
-次

我想用以下结构构造维度
(a*b)xc
的矩阵
E

E=[1 1 10; 
   2 1 68; 
   3 1 5; 
   1 2 11;
   2 2 6; 
   3 2 43; 
   1 3 17; 
   2 3 15; 
   3 3 0; 
   1 4 15; 
   2 4 7; 
   3 4 5];

也许您只是想按第二列对行进行排序,并且考虑的太复杂了:

E = sortrows(D,2)

对于输入数据尚未排序的一般情况,基于
重塑
置换
的方法将适用-

E = reshape(permute(reshape(D,b,size(D,1)/b,[]),[2 1 3]),size(D))