如何求解马尔可夫跃迁速率矩阵?

时间:2018-11-15 05:36:28

标签: matlab matrix markov-chains markov-models

我有一些变量可以找到,例如x = [1x16(x1,x2,x3,.... x16变量)],条件是x1 + x2 + x3 + .... x16 = 1。我也有16x16矩阵Q = [16x16(实际值)]。

我需要求解方程式'x * Q = x'as shown here。如何用Matlab或任何其他语言轻松解决它?

1 个答案:

答案 0 :(得分:0)

通过转置,您的方程式等效于Q'y = 1y,其中y:= x'(列向量),其中Q'是Q(矩阵表示法...)的转置,这意味着y是与本征向量相关的矩阵Q'的特征值1。对于马尔可夫矩阵,总是存在这样的特征向量。令s为列向量y的总和。可能发生两种情况:

  • 两个s都不为0;然后将y的所有坐标除以s就足够了:我们获得的向量仍然是特征向量,坐标和等于1。

  • 或s = 0,无法解决您的问题。

这是一个Matlab程序,可以处理3 x 3矩阵:

M=[.2 .3 .5
   .1 .8 .1
   .4 .4 .2]
[P,D]=eig(M')
Y=P(:,3)
M'*Y - Y,% should be 0
Z=Y/sum(Y),%the sum of Z's coordinates is 1
M'*Z-Z,% should be 0