【问题标题】:What's the octave equivalent of eig(X, 'nobalance')eig(X, 'nobalance') 的八度等效值是多少
【发布时间】:2010-11-13 17:45:22
【问题描述】:

我正在尝试找到马尔可夫链的平衡分布,这意味着找到表示它的转移矩阵的特征值,但是,eig 函数会自动标准化它返回的特征向量,在 MatLab 中有一个标志可以传递到停止这种行为的功能

eig(X, 'nobalance')

其中 X 是一个矩阵。见http://www.mathworks.com/help/techdoc/ref/eig.html。但是,当我在 octave 中尝试这个时,我得到了一个错误:

错误:eig:错误类型参数`sq_string'

我应该调用其他函数吗?

干杯

【问题讨论】:

    标签: matlab octave markov-chains


    【解决方案1】:

    如果您的目标是计算马尔可夫链的均衡分布,请查看PMTK3 toolbox 中的mcStatDist 函数实现。它显示了计算结果的四种不同方法。示例:

    TR = rand(3,3);                          %# random transition matrix
    TR = bsxfun(@rdivide, TR, sum(TR,2));    %# normalize so that rows sum to one
    
    [V,D] = eig(TR');                        %'# eigen-decomposition
    EQ = V(:,1) ./ sum(V(:,1));              %# state equilibrium distribution
    

    如链接代码的 cmets 中所述,此方法在某些情况下可能在数值上不稳定,因此您可能需要考虑其他选项之一...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-05-15
      • 2019-04-27
      • 1970-01-01
      • 1970-01-01
      • 2015-10-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多