MATLAB: Incorrect sampling with weighted randsample

Depending on the distribution of the weights w used in randsample(population,k,true,w), the random sampling seems to be incorrect. For example, this problem arises if the weights are as weight2 below, but works correct with weight1:
%% ——————————————————— %%
values = [-5:5];
weight1 = [0.02 0.03 0.05 0.1 0.0 0.2 0.2 0.1 0.05 0.03 0.02];
weight2 = [0.02 0.00 0.05 0.1 0.35 0.28 0.2 0.0 0.00 0.00 0.00];
n = 1000000;
sample1 = randsample(values,n,true,weight1);
sample2 = randsample(values,n,true,weight2);
%% ——————————————————— %%
Has anyone else experienced this problem? Is there a workaround?
Best regards Kristin

Best Answer

Can you please explain the evidence that makes you say that "the random sampling seems to be incorrect"?
When I run the commands
figure
hist(sample1,values)
figure
hist(sample2,values)
the results look as I would expect.