enter_evidence.m
来自「Bayes网络工具箱」· M 代码 · 共 29 行
M
29 行
function [engine, loglik] = enter_evidence(engine, evidence, filter)% ENTER_EVIDENCE Add the specified evidence to the network (bk_ff_hmm)% [engine, loglik] = enter_evidence(engine, evidence, filter)%% evidence{i,t} = [] if if X(i,t) is hidden, and otherwise contains its observed value (scalar or column vector)% If filter = 1, we do filtering, otherwise smoothing (default).if nargin < 3, filter = 0; endbnet = bnet_from_engine(engine);ss = length(bnet.intra);onodes = engine.onodes;hnodes = engine.hnodes;T = size(evidence, 2);assert(~any(isemptycell(evidence(onodes,:))));obslik = mk_hmm_obs_lik_mat(bnet, onodes, evidence);ns = bnet.node_sizes_slice;ns(onodes) = 1;[gamma, loglik, marginals, marginalsT] = bk_ff_fb(engine.prior, engine.transmat, obslik, filter, engine.hnodes, ns); for t=1:T for i=hnodes(:)' engine.marginals{i,t} = pot_to_marginal(marginalsT{i,t}); endend
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?