generating random numbers only 2 numbers with percentage

32 views (last 30 days)
how to generating random numbers 1x100 but only 2 numbers (suppose 0 and 1) with percentage 0=30% and 1=70%

Answers (1)

Riccardo Scorretti
Riccardo Scorretti on 21 Apr 2022
Edited: Riccardo Scorretti on 21 Apr 2022
The function rand generates random numbers uniformely distributed between 0 and 1. Hence, it is enough to set to 1 numbers the value of which is higher than 0.30 = 1 - 0.70, and to 0 all the others.
n = 10000; % = number of values to generate
prob_1 = 0.70;
num = rand(n,1) > (1-prob_1);
num(num ~= 1) = 0;
% Validation
numel(find(num == 1)) / n
ans = 0.7009
numel(find(num == 0)) / n
ans = 0.2991

Products


Release

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!