butools.dph.PmfFromDPH¶
-
butools.dph.
PmfFromDPH
()¶ Matlab: pmf = PmfFromDPH(alpha, A, x, prec)
Mathematica: pmf = PmfFromDPH[alpha, A, x, prec]
Python/Numpy: pmf = PmfFromDPH(alpha, A, x, prec)
Returns the probability mass function of a discrete phase-type distribution.
Parameters: alpha : vector, shape (1,M)
The initial probability vector of the discrete phase- type distribution. The sum of the entries of pi0 is less or equal to 1.
A : matrix, shape (M,M)
The transient generator matrix of the discrete phase- type distribution.
x : vector of non-negative integers
The density function will be computed at these points
prec : double, optional
Numerical precision to check if the input DPH distribution is valid. The default value is 1e-14.
Returns: pmf : column vector of doubles
The probabilities that the discrete phase type distributed random variable takes the corresponding “x” values
Examples
For Matlab:
>>> a = [0.76,0,0.24]; >>> A = [0.34, 0.66, 0; 0.79, 0.05, 0.07; 0.26, 0.73, 0.01]; >>> x = (0.0:1.0:1000.0); >>> pmf = PmfFromDPH(a, A, x); >>> plot(x, pmf)
For Mathematica:
>>> a = {0.76,0,0.24}; >>> A = {{0.34, 0.66, 0},{0.79, 0.05, 0.07},{0.26, 0.73, 0.01}}; >>> x = Range[0.0,1000.0,1.0]; >>> pmf = PmfFromDPH[a, A, x]; >>> ListLinePlot[{Transpose[{x, pmf}]}]
For Python/Numpy:
>>> a = ml.matrix([[0.76,0,0.24]]) >>> A = ml.matrix([[0.34, 0.66, 0],[0.79, 0.05, 0.07],[0.26, 0.73, 0.01]]) >>> x = np.arange(0.0,1001.0,1.0) >>> pmf = PmfFromDPH(a, A, x) >>> plt.plot(x, pmf)