我有一个序列
A = [1:5]
然后我做了随机排列
B =perms(A);
C = B(randperm(size(B,1)), :)
然后我从整个人群中选择一个随机样本,其中包含5行,如下所示
sample = C(1:5,1:5)
现在我对样本中的每一行进行了操作,
现在我的问题发生在我想从人口中选择一个新样本时,但是我的代码一次又一次地选择相同的样本,直到我的条件结束, 这是我的代码,
clc
clear all
A=[1:5]
B=perms(A);
C = B(randperm(size(B,1)), :)
value_of_cmax = zeros(1,5);
for P=1:24
if P<= 24
sample = C(1:5,1:5)
sample_shuffled = sample(randperm(5),:)
below my operation on each row in sample
else
end
现在,如果循环再次进行第二次,则会再次采样样本..而不是新的。 :(
答案 0 :(得分:2)
这是因为您没有更新样本的值,并且您反复使用相同的样本值!
如果我已正确理解您的问题,那么这可能有所帮助:
clc
clear all
A=[1:5]
B=perms(A);
value_of_cmax = zeros(1,5);
for P=1:24
C = B(randperm(size(B,1)), :);
sample = C(1:5,1:5)
if P<= 24
sample_shuffled = sample(randperm(5),:)
else end
end