найти следующие состояния из матрицы перехода?симуляция случайного блуждания - PullRequest
1 голос
/ 17 ноября 2011

Я пытаюсь смоделировать модель подвижности случайного блуждания в Matlab. У меня проблема с поиском следующего состояния из матрицы перехода.Я уже создал свою матрицу перехода состояний, но я не знаю, как найти следующее состояние?

Я знаю, что у меня есть все вероятности для каждого состояния из матрицы перехода, но мне нужно на самом деле выбирайте исходя из этих вероятностей, каким будет следующее состояние.кто-нибудь может мне помочь с этим?

Ответы [ 2 ]

1 голос
/ 17 ноября 2011

Если A - ваша матрица переходов со строками, суммирующими в 1, то вы можете смоделировать цепочку Маркова следующим образом:

cdf = cumsum(A,2);
for t =1:numSteps
   stateIndex = min(find(rand < cdf(stateIndex,:)));
   % ....
end
0 голосов
/ 20 сентября 2012

Или, если вы хотите использовать встроенную функцию панели инструментов:

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 
...