Чтобы быть точным, поскольку ваше изображение заканчивается на 10 звездочек, вам нужно.
for i in range(1, 11):
print "%10s"%('*' *i)
Простая ошибка: распределение Пуассона определяется на всей линии положительных чисел от 0 до бесконечности. Вы забыли включить 0 в свои расчеты.
> dpois(0:10,4.6)
[1] 0.01005184 0.04623844 0.10634842 0.16306758 0.18752772 0.17252550 0.13226955 0.08691999 0.04997899 0.02554482 0.01175062
> ppois(0:10,4.6)
[1] 0.01005184 0.05629028 0.16263870 0.32570628 0.51323400 0.68575950 0.81802905 0.90494904 0.95492804 0.98047286 0.99222347
Вы забываете ноль:
>>> poisson.cdf(1, 4.6)
0.056290280169948054
>>> poisson.pmf(0, 4.6) + poisson.pmf(1, 4.6)
0.056290280169948075
Таким образом, первый элемент в вашем выводе cdf()
является совокупным значением x=0
& amp; x=1