Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 遍历马尔可夫链平稳分布:解方程_Matlab_Markov Chains_Markov_Stochastic Process - Fatal编程技术网

Matlab 遍历马尔可夫链平稳分布:解方程

Matlab 遍历马尔可夫链平稳分布:解方程,matlab,markov-chains,markov,stochastic-process,Matlab,Markov Chains,Markov,Stochastic Process,我试图解一组方程来确定遍历马尔可夫矩阵的平稳分布 也就是说,矩阵是 P=[0 0 0 0.5 0 0.5; 0.1 0.1 0 0.4 0 0.4; 0 0.2 0.2 0.3 0 0.3; 0 0 0.3 0.5 0 0.2; 0 0 0 0.4 0.6 0; 0 0 0 0 0.4 0.6]; 方程组是下面定理中的方程组 如何将上述方程转换为有效的Matlab语法?平稳分布由特征值为1的

我试图解一组方程来确定遍历马尔可夫矩阵的平稳分布

也就是说,矩阵是

P=[0   0   0   0.5 0   0.5;
   0.1 0.1 0   0.4 0   0.4;
   0   0.2 0.2 0.3 0   0.3;
   0   0   0.3 0.5 0   0.2;
   0   0   0   0.4 0.6 0;
   0   0   0   0   0.4 0.6];
方程组是下面定理中的方程组


如何将上述方程转换为有效的Matlab语法?

平稳分布由特征值为1的特征向量给出

>> [V D] = eig( P.' ); %// note the transpose .' - we are looking for the **left** EV
>> st = V(:,1).'; %//' the stationary distribution
st =
 0.0051    0.0509    0.2291    0.6110    0.5346    0.5346
>> D(1)
 1.0000

平稳分布由特征值为1的特征向量给出

>> [V D] = eig( P.' ); %// note the transpose .' - we are looking for the **left** EV
>> st = V(:,1).'; %//' the stationary distribution
st =
 0.0051    0.0509    0.2291    0.6110    0.5346    0.5346
>> D(1)
 1.0000

这与@Shai的方法不同

另一种方法是求解稳态的Pi*p=Pi方程,忽略Pi_j之和必须为1的要求(目前)

一点矩阵代数…

然后我们知道,如果没有“总和为1”的要求,Pi没有唯一的解决方案。Pi必须在(转置(P)-I)的零空间中。MATLAB擅长于此。之后的规范化给出了所需的结果(正如@LuisMendo在评论中指出的)

这很容易检查

>> PI(:)'     % Force into row vector
ans =
    0.0026    0.0259    0.1166    0.3109    0.2720    0.2720
与25步转移矩阵进行比较

P5 = P*P*P*P*P;
P25 = P5*P5*P5*P5*P5;
>>P25 =
    0.0026    0.0259    0.1166    0.3109    0.2720    0.2720
    0.0026    0.0259    0.1166    0.3109    0.2720    0.2720
    0.0026    0.0259    0.1166    0.3109    0.2720    0.2720
    0.0026    0.0259    0.1166    0.3109    0.2720    0.2720
    0.0026    0.0259    0.1166    0.3109    0.2720    0.2720
    0.0026    0.0259    0.1166    0.3109    0.2720    0.2720

这与@Shai的方法不同

另一种方法是求解稳态的Pi*p=Pi方程,忽略Pi_j之和必须为1的要求(目前)

一点矩阵代数…

然后我们知道,如果没有“总和为1”的要求,Pi没有唯一的解决方案。Pi必须在(转置(P)-I)的零空间中。MATLAB擅长于此。之后的规范化给出了所需的结果(正如@LuisMendo在评论中指出的)

这很容易检查

>> PI(:)'     % Force into row vector
ans =
    0.0026    0.0259    0.1166    0.3109    0.2720    0.2720
与25步转移矩阵进行比较

P5 = P*P*P*P*P;
P25 = P5*P5*P5*P5*P5;
>>P25 =
    0.0026    0.0259    0.1166    0.3109    0.2720    0.2720
    0.0026    0.0259    0.1166    0.3109    0.2720    0.2720
    0.0026    0.0259    0.1166    0.3109    0.2720    0.2720
    0.0026    0.0259    0.1166    0.3109    0.2720    0.2720
    0.0026    0.0259    0.1166    0.3109    0.2720    0.2720
    0.0026    0.0259    0.1166    0.3109    0.2720    0.2720

+1但结果应归一化为和1:
st./sum(st)
+1,但结果应归一化为和1:
st./sum(st)