LINE Solver
MATLAB API documentation
Loading...
Searching...
No Matches
dtmc_solve.m
1%{ @file dtmc_solve.m
2 % @brief Equilibrium distribution of the discrete-time Markov chain
3 %
4 % @author LINE Development Team
5%}
6
7%{
8 % @brief Equilibrium distribution of the discrete-time Markov chain
9 %
10 % @details
11 % Calculates the equilibrium distribution of a discrete-time Markov chain given its transition matrix.
12 %
13 % @par Syntax:
14 % @code
15 % PROB = dtmc_solve(P)
16 % PROB = dtmc_solve(P, options)
17 % @endcode
18 %
19 % @par Parameters:
20 % <table>
21 % <tr><th>Name<th>Description
22 % <tr><td>P<td>Stochastic transition matrix of the discrete-time Markov chain
23 % <tr><td>options<td>(Optional) Solver options
24 % </table>
25 %
26 % @par Returns:
27 % <table>
28 % <tr><th>Name<th>Description
29 % <tr><td>PROB<td>Equilibrium distribution vector
30 % </table>
31 %
32 % @par Examples:
33 % @code
34 % PROB = dtmc_solve([0.5,0.5;0.2,0.8]);
35 % @endcode
36%}
37function PROB=dtmc_solve(P,options)
38
39if nargin<2
40 if issparse(P)
41 PROB=ctmc_solve(P-speye(size(P)));
42 else
43 PROB=ctmc_solve(P-eye(size(P)));
44 end
45else
46 if issparse(P)
47 PROB=ctmc_solve(P-speye(size(P)),options);
48 else
49 PROB=ctmc_solve(P-eye(size(P)),options);
50 end
51end
52end