Это гораздо менее общее решение, чем randsample
Луиса, но оно довольно простое, и я надеюсь, что чему-то научит.
Поскольку все ваши вероятности приятно округлены до 10%, вы можете перевести справедливое10-гранный кубик к недобросовестному 6-гранному кубику упражнения:
map = [1,1,2,2,3,3,4,4,5,6];
Этот map
переведет целое число 1-10 в целое число 1-6, где 1-4 все имеют двойное числошанс быть выбранным, чем 5-6.
Теперь нарисуйте 5000 случайных целых чисел 1-10 и сопоставьте их:
x = map(randi(10,1,5000));
По сравнению с честным 6-сторонним кубиком:
y = randi(6,1,5000);
hx = hist(x,1:6);
hy = hist(y,1:6);
Понятно:
hx = [ 988 1029 1022 967 505 489 ]
hy = [ 827 884 833 771 849 836 ]