blob: 87488f44de21f1dae1d60373be3e90daf361f14d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
function S = mc_sample(prior, trans, len, numex)
% SAMPLE_MC Generate random sequences from a Markov chain.
% STATE = SAMPLE_MC(PRIOR, TRANS, LEN) generates a sequence of length LEN.
%
% STATE = SAMPLE_MC(PRIOR, TRANS, LEN, N) generates N rows each of length LEN.
if nargin==3
numex = 1;
end
S = zeros(numex,len);
for i=1:numex
S(i, 1) = sample_discrete(prior);
for t=2:len
S(i, t) = sample_discrete(trans(S(i,t-1),:));
end
end
|