How do I create a Markov Matrix with variables instead of numbers for probabilities?
2 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Dana
2020-9-4
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 个评论
Dana
2020-9-4
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);
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Markov Chain Models 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!