I noticed that there are some syntax about how to "randomsample", for example"
y = randsample(n,k)
y = randsample(population,k)
Here is my concern: what if my "population" only has ONE element? for example, suppose my population is [3]. Then what I want by using randomsample(3,1) is to get 3, however, MATLAB will give me a number from [1,2,3] randomly. The reason is obvious - MATLAB takes the 3 as "n" but not "population". Does any one know how to solve this problem?
My application is to use randomsample to write an equipartition function. If you're interested in, my code is as follow:
function group = equipartitionGroup(sample,groupNo)
sampLen = length(sample);
for i = 1:mod(sampLen,groupNo)
k = ceil(sampLen/groupNo);
group{i} = randsample(sample,k);
sample = setdiff(sample,group{i});
end
for i = mod(sampLen,groupNo)+1:groupNo
k = floor(sampLen/groupNo);
group{i} = randsample(sample,k);
sample = setdiff(sample,group{i});
end
I appreciate it if any expert can help to fix or improve it. Thanks.