Generating Poisson Distributions for a Fixed Number of Events

8 views (last 30 days)
mttxc12
mttxc12 on 8 Aug 2015
Answered: Ghada Saleh on 10 Aug 2015
I'm wondering if there's a straight forward way to generate a poisson distribution for a distribution for a fixed number of events. For example, I have a vector of means for a poisson distribution; something like this: B=[3, 5, 7, 9, 10] Each element in B is the mean number of events I can expect to observe in that bin when I model the data in each bin as a poisson distribution. If I want to simulate observations of this distribution I can use the command poissrnd: poissrnd(B) Which generates a random vector. I now want to generate observations but I'd like to have control over the total number of events that are observed. Is there a straight forward way to do that?

Accepted Answer

Ghada Saleh
Ghada Saleh on 10 Aug 2015
Hello,
In order to have a pre-specified number of observations, you use the command
a = poissrnd(b,n,m)
where 'b' is an element of the 'B' vector you specified and 'n x m' is the dimension of the number of observations.
I understand that you want to do that directly to all the elements in 'B'. You can define 'B' as a cell array and then use the 'cellfun' to apply 'poissrnd' function to each element in 'B' as follows:
B = {3, 5, 7, 9, 10}
A = cellfun(@(x) poissrnd(x,3,5),B,'UniformOutput',0)
Now element 'i' in 'A' i.e., A{i} contains '3 x 5' Poisson observations with parameter B{i}.
I hope this helps,
Ghada

More Answers (0)

Community Treasure Hunt

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

Start Hunting!