Markov Chains are really useful in a lot of fields. This problem will ask a question about a simple system with 3 states: A,B and C. The probability that one state will go to another can be given in a matrix such as:
mc = [0.5 0.2 0;
0.2 0 0.6;
0.3 0.8 0.4];
So, the first element is the probability that something in state A will remain in state A (0.5 here). The zero as the 5th element means nothing in state B will remain in state B. Now, if you are given the current state of the system, say state=[1 0 0], you can get the next state.
In this problem, I will given an incomplete matrix (A zero in place of one value), and then an initial state and the next state like:
states=[1 0.5;
0 0.2;
0 0.3]
You will have to provide the correct markov matrix as the output.
Round the output to 2 digits after decimal.
Solution Stats
Problem Comments
5 Comments
Solution Comments
Show comments
Loading...
Problem Recent Solvers15
Suggested Problems
-
20971 Solvers
-
660 Solvers
-
304 Solvers
-
115 Solvers
-
Find the maximum number of decimal places in a set of numbers
3369 Solvers
More from this Author2
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
test case 2 is underconstrained (either of the two zeros could be changed) and test case 3 doesn't account for increased precision.
hmm, sorry man. This was just for fun so people might get interested in markov chains, so I didn't think too hard about the test cases :)
perhaps it's been changed already, test 2 does not look underconstrained (one additional constrain of mc is that its columns should add up to 1)
In fact tests 2 and 3 are 'overconstrained' (you do not need the 'states' information to solve these)
Please, do not use isequal with floats, check them against some tolerance: abs(a-b) < tol. Currently rounding numbers to 2 decimal places seems to fix the issue if the test suite is not updated. Good problem.