フィルターのクリア

How to generate random numbers in a Gaussian distribution?

186 ビュー (過去 30 日間)
Ali Almakhmari
Ali Almakhmari 2023 年 2 月 7 日
回答済み: Swaraj 2023 年 2 月 8 日
Given A = 1 and B = 5, and knowing that the mean is 2.5 and the standard deviation is 1, I want to generate 1000 random points between A and B using a normal (Gaussian) distribution. I am unsure how to do this in MATLAB efficienctly.
  6 件のコメント
Walter Roberson
Walter Roberson 2023 年 2 月 7 日
values = mean + randn(1000,1) * sigma;
The repmat() is valid, but slower than needed for this purpose.
Ali Almakhmari
Ali Almakhmari 2023 年 2 月 7 日
I see. Thank you all so much!!

サインインしてコメントする。

採用された回答

Swaraj
Swaraj 2023 年 2 月 8 日
You can use the randn function in MATLAB.
You can follow the following steps:
  1. Generate Random Numbers from a standard normal distribution.
  2. Scale and shift them to match the desired Mean and Standard Deviation.
Please go through the code below:
A = 1;
B = 5;
std = 1;
mean = 2.5;
step1Result = mean + std * randn(1000,1);
step2Result = min(max(step1Result,A),B);

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeRandom Number Generation についてさらに検索

製品


リリース

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by