如何在matlab中将一些矩阵随机置换为更大的矩阵?

时间:2016-03-03 11:33:12

标签: matlab

这是主要的矩阵:

a =

 1     2     3     3     4     5     2     5     7
 3     4     5     5     6     8     6     4     9

这个主矩阵包含3个小矩阵: 第一个是:

 [1 2 3;3 4 5]

第二个是:

 [3 4 5;5 6 8]

第三个是:

 [2 5 7;6 4 9]

我想将这3个矩阵随机置换到主矩阵中 像这样:

 a =

 2     5     7     3     4     5     1     2     3
 6     4     9     5     6     8     3     4     5

我怎么能这样做?

1 个答案:

答案 0 :(得分:4)

如果连接三个2D矩阵,最好使用3D矩阵:

%get a 3d matrix
b=reshape(a,size(a,1),3,[]);
%randomly permute third dimension
c=b(:,:,randperm(size(b,3)));
%return to 2d representation
d=reshape(c,size(a));