Generate random numbers matrix with different probabilities
Show older comments
How do I generate a 15x20 matrix with random numbers between -5 and 23 but the negative numbers (Including 0) are twice as likely to appear than positive numbers?
Answers (1)
Ameer Hamza
on 4 Oct 2020
Edited: Ameer Hamza
on 4 Oct 2020
This is one way
candidates = [-5:0 -5:0 1:23]; % twice as many candidates from -5 to 0
idx = randi(numel(candidates), 15, 20);
x = candidates(idx);
To see if it really work, create a large matrix x and see the histogram of its values
candidates = [-5:0 -5:0 1:23]; % twice as many candidates from -5 to 0
idx = randi(numel(candidates), 100, 200);
x = candidates(idx);
histogram(x(:))

Categories
Find more on Creating and Concatenating Matrices 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!