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
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!