about summary refs log tree commit diff
path: root/sourcecodes/bnt-master/HMM/mc_sample.m
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