Someone help me to fix the problem?

1 view (last 30 days)
Hello everyone, I need to create random numbers and find the poisson distribution and its pdf and the draw the plot of it, I try to do it this code but I am doing something wrong here, can someone help me to do it?
lambda =75;
for i=1:1000
r(i) = poissrnd(lambda);
end
P = poisspdf(r,lambda);
[M,V] = poisstat(lambda);
% bar(r,P,1);
% xlabel('Observation');
% ylabel('Probability');

Accepted Answer

Michael Soskind
Michael Soskind on 7 May 2020
I think you need to use the unique function here. Something that is important to note is that the bar chart requires r to be unique values. In addition, because of that, you need to count the number of times that the counts occur. Also, because you want to plot the probability, you want to divide by the number of total occurences in the set. This is reflected in the code below:
% Generating the random dataset
lambda =75;
for i=1:1000
r(i) = poissrnd(lambda);
end
P = poisspdf(r,lambda);
[M,V] = poisstat(lambda);
counts = hist(r, unique(r)); % unique selects the number of unique elements
% hist counts the number of elements at each unique value
bar(unique(r), counts/1000) % bar chart plots the counts
% because you have 1000 elements, you divide counts by 1000 to get the probability
xlabel('Observation');
ylabel('Probability');
  1 Comment
Onur Metin Mertaslan
Onur Metin Mertaslan on 7 May 2020
Thank you so much, I am quite new in Matlab and I could not able to fix the problem. Thanks for your help!

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!