generate a random number

Hi,I need to generate a random number distribution that has different weights. For example: I want to generate 1000000 numbers with 80% of the generated values being less than 5. How do I do this?

1 个评论

Stephen23
Stephen23 2016-12-16
编辑:Stephen23 2016-12-16
@igc1127: what distribution do you want? There are many distributions that could fulfill this requirement.

请先登录,再进行评论。

回答(1 个)

Is this what you want? Try this:
n = 1000000; % Number of random numbers you want to generate.
maxValue = 5 % Number that you want to specify some percentage of numbers are less than.
percentage = 80; % Range is 0 to 100
newMaxValue = maxValue * 100 / percentage
% Compute random numbers.
r = newMaxValue * rand(1, n);
% Compute percentage under maxValue
pct = sum(r < maxValue) / n * 100
% Plot it.
histogram(r, 'Normalization', 'pdf');
grid on;

类别

帮助中心File Exchange 中查找有关 Random Number Generation 的更多信息

提问:

2016-12-16

Community Treasure Hunt

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

Start Hunting!

Translated by