markov_ergodic.asv

来自「Markov分析的matlab工具包」· ASV 代码 · 共 45 行

ASV
45
字号
function result = Markov_Ergodic(P) %转移矩阵确定Markov链是否遍历的主函数
%
%   随机数学(30250143, 07Fall) 大作业程序
%
%   作者:葛元恺 2004011425  <geyuank@gmail.com> 
%         王  音 2004011448 <yin-wang04@mails.tsinghua.edu.cn>
%          
%   All rights reserved. 2008.1

[m n] = size(P);

if m~=n,
    error('P must be a square-matrix (m=n)');
end

N = n;
M = 0;
Z = calc_Z(P);

while(2^M < N*(N-1)/2)
    if find(sum(Z)==N) ,
        result = 1;
        return;
    else
        if find(sum(Z)==(N-1)),
            if calc_alpha(Z)>0,
                result = 1;
                return;
            end
        end

        Z = calc_Z(Z*Z);
        M = M+1;
    end
end

if calc_alpha(Z)>0,
    result = 1;
else
    result = 0;
end

return;
    

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?