How to generate random numbers in a Gaussian distribution?
347 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Ali Almakhmari
am 7 Feb. 2023
Beantwortet: Swaraj
am 8 Feb. 2023
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 Kommentare
Walter Roberson
am 7 Feb. 2023
values = mean + randn(1000,1) * sigma;
The repmat() is valid, but slower than needed for this purpose.
Akzeptierte Antwort
Swaraj
am 8 Feb. 2023
You can use the randn function in MATLAB.
You can follow the following steps:
- Generate Random Numbers from a standard normal distribution.
- 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 Kommentare
Weitere Antworten (0)
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!