1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
#! /usr/bin/env python
import openturns as ot
ot.TESTPREAMBLE()
# Poisson related functions
# dPoisson
lambdaMin = 0.2
lambdaMax = 5.0
kMax = 10
n1 = 5
for i1 in range(n1):
lambda_ = lambdaMin + (lambdaMax - lambdaMin) * i1 / (n1 - 1)
for k in range(kMax):
print(
"dPoisson(%.3g" % lambda_,
", ",
k,
")=%.4g" % ot.DistFunc.dPoisson(lambda_, k),
)
# dPoisson
for i1 in range(n1):
lambda_ = lambdaMin + (lambdaMax - lambdaMin) * i1 / (n1 - 1)
for k in range(kMax):
print(
"logdPoisson(%.3g" % lambda_,
", ",
k,
")=%.4g" % ot.DistFunc.logdPoisson(lambda_, k),
)
# rPoisson
nR = 5
for i1 in range(n1):
lambda_ = lambdaMin + (lambdaMax - lambdaMin) * i1 / (n1 - 1)
for iR in range(nR):
print("rPoisson(%.3g" % lambda_, ")=", ot.DistFunc.rPoisson(lambda_))
# qPoisson
n2 = 20
for tail in [False, True]:
for i1 in range(n1):
lambda_ = lambdaMin + (lambdaMax - lambdaMin) * i1 / (n1 - 1)
for i2 in range(n2):
p = i2 / n2
q0 = ot.DistFunc.qPoisson(lambda_, p, tail)
print(f"qPoisson(lambda={lambda_:.3g}, p={p:.3g}, tail={tail})={q0}")
|