How do I create a random integer number binomial distributed between two values?

Hi All, as from subject I would like to know how to generate a random integer number binomial distributed between two values. Is there any built-in function ? Thanks

 채택된 답변

the cyclist
the cyclist 2018년 3월 21일
If you have the Statistics and Machine Learning Toolbox, you can use binornd. (You might need to add or multiply the result, depending exactly which integers you want.)
If you do not have this toolbox, there are other tricks you can do using core MATLAB.

댓글 수: 4

amatlabr
amatlabr 2018년 3월 21일
편집: amatlabr 2018년 3월 21일
Yes, I just saw that function and it needs two parameters (the number of trials, N, and probability of success for each trial, P). If I correctly understand this “binornd(n,p) function” will give a random number by ranging of 0 to n?
Another question : Let's say I both have the parameters, but I would like to get a random integer number between [start,end] according a binomial distribution. Then,Do I need to do :[end-start]*binornd(N,p)+ start ?
No.
start + binornd(end-start,p)
and presumably
N = end - start
so you can make that substitution if you want, to get
start + binornd(N,p)
(Note that you will not be able to use end as a variable name, because it is a MATLAB keyword.)
So if my range is between 0 and 1000 --> binornd(1000,p) Otherwise if my range is between 10 and 1000 --> 10+binornd(9990,p)

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Random Number Generation에 대해 자세히 알아보기

질문:

2018년 3월 21일

댓글:

2018년 3월 21일

Community Treasure Hunt

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

Start Hunting!

Translated by