mult_cpd_and_pi_msgs.m

来自「贝叶斯网络的matlab实现。可以创建贝叶斯网络、训练模型」· M 代码 · 共 18 行

M
18
字号
function T = mult_CPD_and_pi_msgs(CPD, n, ps, msgs, except)
% MULT_CPD_AND_PI_MSGS Multiply the CPD and all the pi messages from parents, perhaps excepting one
% T = mult_CPD_and_pi_msgs(CPD, n, ps, msgs, except)

if nargin < 5, except = -1; end

dom = [ps n];
%ns = sparse(1, max(dom));
ns = zeros(1, max(dom));
ns(dom) = mysize(CPD.CPT);
T = dpot(dom, ns(dom), CPD.CPT);
for i=1:length(ps)
  p = ps(i);
  if p ~= except
    T = multiply_by_pot(T, dpot(p, ns(p), msgs{n}.pi_from_parent{i}.T)); 
  end
end         

⌨️ 快捷键说明

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