hmmgendisc.m

来自「Mathematical Methods by Moor n Stiling.」· M 代码 · 共 27 行

M
27
字号
function [y,ss] = hmmgendisc(T,HMM)
% 
% Generate T outputs of a HMM with a discrete output distribution
%
% function y = hmmgendisc(T,HMM)
% 
% T = number of outputs to produce
% HMM = model parameters
%
% y = output sequence
% ss = (optional) state sequence (for testing purposes)

% Copyright 1999 by Todd K. Moon

ir = rand;          % select the initial state with probability 
p = HMM.pi;
q = HMM.f{2}*p;
ir = rand;
y = sum(ir>=cumsum([0;q]));
if(nargout>1) ir = rand;  s = sum(ir >= cumsum([0;p])); ss = s; end;
for t=2:T
  p = HMM.A*p;
  if(nargout>1) ir = rand;  s = sum(ir >= cumsum([0;p])); ss = [ss s]; end;
  q = HMM.f{2}*p;
  ir = rand;
  y = [y sum(ir>=cumsum([0;q]))];
end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?