Would you please tell me what do I have to fix in Binomial distribution code?

3 vues (au cours des 30 derniers jours)
for n = 2:30
for x=1:n;
p(x) = (factorial(n)/(factorial(x)* factorial(n-x)))*((10/230)^x)*(1-(10/230).^(n-x));
end
end
plot(p)
The graph should come out as one plot that is decreasing, but my graph now has several rising graphs. Would you tell me what do I have to change please?
  1 commentaire
Paul
Paul le 13 Oct 2022
x should start at 0.
It looks like you're trying to get p for different vaues of n. But each time through the loop overwrites the previous computation of p. So you'll either need to put the plot(0:n,p) command (with a hold) inside the loop, save each p in some sort of data structure and the plot after the loop.
Also, might be interested in this function: nchoosek

Connectez-vous pour commenter.

Réponse acceptée

David Hill
David Hill le 13 Oct 2022
Note, factorial(30) will not be exact since it has more digits than floating point. The plot is constantly decreasing.
for n = 2:30
for x=1:n;
p(x) = (factorial(n)/(factorial(x)* factorial(n-x)))*((10/230)^x)*(1-(10/230).^(n-x));
end
end
diff(p)<0
ans = 1×29 logical array
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Plus de réponses (0)

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by