Advertisement
Guest User

Untitled

a guest
Mar 31st, 2015
223
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.96 KB | None | 0 0
  1. [seq, states] = hmmgenerate(100, Trans, Emis)
  2.  
  3. %# number of states
  4. N = 11;
  5.  
  6. %# some random transition matrix
  7. trans = rand(N,N);
  8. trans = bsxfun(@rdivide, trans, sum(trans,2));
  9.  
  10. %# fake emission matrix (only one symbol)
  11. emis = ones(N,1);
  12.  
  13. %# get a sample of length = 10
  14. [~,states] = hmmgenerate(10, trans, emis)
  15.  
  16. >> states
  17. states =
  18. 10 1 3 11 9 4 11 1 4 6
  19.  
  20. %# number of states
  21. N = 3;
  22.  
  23. %# transition matrix
  24. trans = rand(N,N);
  25. trans = bsxfun(@rdivide, trans, sum(trans,2));
  26.  
  27. %# probability of being in state i at time t=0
  28. prior = rand(1,N);
  29. prior = prior ./ sum(prior);
  30.  
  31. %# generate a sequence of states
  32. len = 100; %# length of sequence
  33. states = zeros(1,len);
  34. states(1) = randsample(N, 1, true, prior);
  35. for t=2:len
  36. states(t) = randsample(N, 1, true, trans(states(t-1),:));
  37. end
  38.  
  39. %# show sequence
  40. stairs(states, 'LineWidth',2)
  41. set(gca, 'YGrid','on', 'YLim',[0 N+1])
  42. xlabel('time'), ylabel('states')
  43. title('sequence of states')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement