generating random numbers only 2 numbers with percentage
Show older comments
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
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
numel(find(num == 0)) / n
Categories
Find more on Random Number Generation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!