convert_to_table.m

来自「基于matlab的bayes net toolbox,希望对大家能有些帮助」· M 代码 · 共 39 行

M
39
字号
function T = convert_to_table(CPD, domain, evidence)% CONVERT_TO_TABLE Convert a Gaussian CPD to a table% T = convert_to_table(CPD, domain, evidence)sz = CPD.sizes;ns = zeros(1, max(domain));ns(domain) = sz;odom = domain(~isemptycell(evidence(domain)));ps = domain(1:end-1);cps = ps(CPD.cps);dps = ps(CPD.dps);self = domain(end);cdom = [cps(:)' self];ddom = dps;cnodes = cdom;[m, C, W] = gaussian_CPD_params_given_dps(CPD, domain, evidence);ns(odom) = 1;dpsize = prod(ns(dps));self = domain(end);assert(myismember(self, odom));self_val = evidence{self};T = zeros(dpsize, 1);if length(cps) > 0   assert(~any(isemptycell(evidence(cps))));  cps_vals = cat(1, evidence{cps});  for i=1:dpsize    T(i) = gaussian_prob(self_val, m(:,i) + W(:,:,i)*cps_vals, C(:,:,i));  endelse  for i=1:dpsize    T(i) = gaussian_prob(self_val, m(:,i), C(:,:,i));  endend

⌨️ 快捷键说明

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