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

1 次查看(过去 30 天)
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.

回答(1 个)

Priyank Sharma
Priyank Sharma 2018-4-6
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.

类别

Help CenterFile Exchange 中查找有关 Markov Chain Models 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by