enter_evidence.m
来自「Bayes网络工具箱」· M 代码 · 共 27 行
M
27 行
function [engine, loglik] = enter_evidence(engine, evidence)% ENTER_EVIDENCE Add the specified evidence to the network (jtree_onepass)% [engine, loglik] = enter_evidence(engine, evidence)% evidence{i} = [] if if X(i) is hidden, and otherwise contains its observed value (scalar or column vector)bnet = bnet_from_engine(engine);ns = bnet.node_sizes(:);onodes = find(~isemptycell(evidence));cnodes = bnet.cnodes;pot_type = determine_pot_type(onodes, cnodes, bnet.dag);if strcmp(pot_type, 'cg') check_for_cd_arcs(onodes, cnodes, bnet.dag);end% Evaluate CPDs with evidence, and convert to potentialsN = length(bnet.dag);CPDpot = cell(1,N);for n=1:N fam = family(bnet.dag, n); e = bnet.equiv_class(n); CPDpot{n} = CPD_to_pot(pot_type, bnet.CPD{e}, fam, ns, bnet.cnodes, evidence);endjengine = struct(engine.jtree_inf_engine); % violate object privacy[marginal, loglik] = enter_soft_evidence(engine, jengine.clq_ass_to_node, CPDpot, onodes, pot_type);engine.marginal = pot_to_marginal(marginal);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?