我想创建一个矩阵,该矩阵具有从另一个矩阵中选择的不同行。
例如,我有一个10x3
矩阵A
A =
1 2 3
4 5 6
7 8 9
10 11 12
13 14 15
16 17 18
19 20 21
22 23 24
25 26 27
28 29 30
现在,我想在迭代过程中从B
创建一个大小为2 X 3
的新矩阵A
,使得矩阵B
应包含不同的行每次迭代(最大迭代次数= 5)
我的伪代码:
for j=1:5
create matrix 'B' by selecting 2 rows randomly from 'A', which should be different
end
答案 0 :(得分:3)
你可以使用randperm
随机搞乱行,然后依次按顺序在每次迭代中取两行。
iterations = 4;
permu = randperm(size(A,1));
out = A(permu(1:iterations*2),:);
for ii = 1:iterations
B = out(2*ii - 1:2*ii,:)
end
<强>结果:强>
B =
22 23 24
25 26 27
B =
1 2 3
13 14 15
B =
19 20 21
16 17 18
B =
7 8 9
10 11 12