Why does MATLAB class "dtmc" not allow sink states?

1 view (last 30 days)
When I create an object dtmc by using a transition matrix, all the rows whose entries are 0 are converted into NaN by looking at the dtmc field P.
For instance:
tM = [0.3 0.3 0.3;
0.3 0.3 0.3;
0 0 0 ;]
mc = dtmc(tM);
mc.P
will display
0.3 0.3 0.3
0.3 0.3 0.3
NaN NaN NaN
These states are either sink or cut states. Whenever I try to use one of the dtmc methods such as eigplot or asymptotics MATLAB complains because P contains NaN values. Having sink states does not preclude the possibility to evaluate the stationary distribution for instance. Am I correct?
Thank you.

Answers (1)

Priyank Sharma
Priyank Sharma on 6 Apr 2018
MATLAB normalizes the transition matrix so that all rows sum to 1. That is, MATLAB computes a right-stochastic matrix from the matrix of observed transitions. You can display the stochastic transition matrix of the Markov chain by using dot notation and verify that every row of the transition matrix sums to 1.

Community Treasure Hunt

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

Start Hunting!