Generate random numbers matrix with different probabilities

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)

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

Tags

Asked:

on 4 Oct 2020

Commented:

on 5 Oct 2020

Community Treasure Hunt

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

Start Hunting!