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?

回答(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(:))

类别

帮助中心File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by