How do I create a Markov Matrix with variables instead of numbers for probabilities?

2 views (last 30 days)
How do I create a Markov Matrix with variables instead of numbers where the probabilities should go?

Accepted Answer

Dana
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
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);

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by