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
-
6435 Solvers
-
Convert Hard Drive marketing sizes to actual data sizes
69 Solvers
-
524 Solvers
-
Find the elements of a matrix according to a defined property.
91 Solvers
-
533 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.