How do I create a Markov Matrix with variables instead of numbers for probabilities?
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
How do I create a Markov Matrix with variables instead of numbers where the probabilities should go?
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/356095/image.jpeg)
0 commentaires
Réponse acceptée
Dana
le 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 commentaires
Dana
le 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);
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Markov Chain Models dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!