1

我正在尝试在 matlab 中对随机游走移动模型进行建模,但我遇到了从转移矩阵中寻找下一个状态的问题。我已经创建了状态转换矩阵,但我不知道如何找到下一个状态?

我知道我从过渡矩阵中获得了每个状态的所有概率,但我需要根据这些概率实际选择下一个状态是什么。有人可以帮我吗?

4

2 回答 2

1

如果A您的转换矩阵的行总和为 1,那么您可以像这样模拟马尔可夫链:

cdf = cumsum(A,2);
for t =1:numSteps
   stateIndex = min(find(rand < cdf(stateIndex,:)));
   % ....
end
于 2011-11-17T06:17:09.903 回答
0

或者,如果您想使用内置工具箱功能:

n=100; %number of moves
emis=ones(1,length(A))  % it's not a Hidden Markov Model so this can be just ones. ignore.
[~,moves] = hmmgenerate(n, A, emis); % starts at state 1 don't forget 
于 2012-09-20T16:22:11.220 回答