How do I create a Markov Matrix with variables instead of numbers for probabilities?
1 view (last 30 days)
Show older comments
How do I create a Markov Matrix with variables instead of numbers where the probabilities should go?
0 Comments
Accepted Answer
Dana
on 4 Sep 2020
If your goal is to manipulate P symbolically (i.e., algebraically, rather than numerically), then you'll need to use Matlab's symbolic toolbox if you have it. In that case,
P = sym('p',[4,4]);
creates a symbolic matrix P with element (i,j) denoted by pi_j.
2 Comments
Dana
on 4 Sep 2020
Use the subs function. To do one element at a time, subs(P,'p1_1',1) would replace p1_1 (which is the (1,1) element of P) with the number 1. To replace the whole matrix in one go with the elements of another matrix:
m = magic(4); % an arbitrary 4-by-4 numeric matrix
Psub = subs(P,P,m);
Note that the output of the subs function is still a symbolic matrix, even if it contains only numbers. To convert a symbolic matrix (or other symbolic variable) to a numeric one, use eval:
Psubnum = eval(Psub);
More Answers (0)
See Also
Categories
Find more on Markov Chain Models in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!