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 件)

Image Analyst
Image Analyst 2016 年 12 月 16 日

0 投票

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 ExchangeRandom Number Generation についてさらに検索

質問済み:

2016 年 12 月 16 日

回答済み:

2016 年 12 月 16 日

Community Treasure Hunt

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

Start Hunting!

Translated by