How do I generate a random number between two numbers with using a distribution
이전 댓글 표시
I I know that we can define distribution in the random command, but the random numbers I generate with the random command are integers. I'm using the rand command for decimal random numbers and this time I can't define a distribution. In short, how can I create a normal distribution or triangular distribution of 100 random numbers consisting of decimal numbers?
채택된 답변
추가 답변 (1개)
Paul
2022년 3월 22일
1 개 추천
Emre,
The statement that the the random() command only generates integers doesn't sound correct. The doc page shows an an example of generating random numbers from a Weibull diistribution which are not integers. Can you post an example that illustrates the behavior?
For a standard normal distribution you can use randn(), and then adjust the outputs for whatever mean and variance is desired. Or use normrnd() in the Statistics and Machine Learning Toolbox, or other options in that toolbox. That toolbox supports many distributions, including the Triangular distribution, for which you can get the pdf, cdf, random numbers, and lots of other interesting things.
댓글 수: 2
Here's an example using Stats Toolbox functionality
pd = makedist('Triangular',0,20,100)
rng(100);
v = random(pd,100000,1);
histogram(v,'Normalization','pdf')
Emre Can Yilmaz
2022년 3월 22일
카테고리
도움말 센터 및 File Exchange에서 Random Number Generation에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


