diff options
Diffstat (limited to 'sourcecodes/bnt-master/BNT/inference/static/@jtree_inf_engine')
| -rw-r--r-- | sourcecodes/bnt-master/BNT/inference/static/@jtree_inf_engine/marginal_nodes_no_ev.m | 18 | ||||
| -rw-r--r-- | sourcecodes/bnt-master/BNT/inference/static/@jtree_inf_engine/marginal_nodes_no_ev.m~ | 18 |
2 files changed, 36 insertions, 0 deletions
diff --git a/sourcecodes/bnt-master/BNT/inference/static/@jtree_inf_engine/marginal_nodes_no_ev.m b/sourcecodes/bnt-master/BNT/inference/static/@jtree_inf_engine/marginal_nodes_no_ev.m new file mode 100644 index 00000000..220690ce --- /dev/null +++ b/sourcecodes/bnt-master/BNT/inference/static/@jtree_inf_engine/marginal_nodes_no_ev.m @@ -0,0 +1,18 @@ +function marginal = marginal_nodes_no_ev(bnet,engine, query) +% MARGINAL_NODES Get original distribution of the specified query nodes (jtree) +% marginal = marginal_nodes(bnet, engine, query) +% + +if ismember(query,bnet.dnodes) + marginal.domain = query; + marginal.T = CPD_to_CPT_orig(bnet.CPD{query}); + marginal.mu = []; + marginal.Sigma = []; +else + c = clq_containing_nodes(engine, query); + if c == -1 + error(['no clique contains ' num2str(query)]); + end + marginal = pot_to_marginal(marginalize_pot(engine.clpot{c}, query, engine.maximize)); +end + diff --git a/sourcecodes/bnt-master/BNT/inference/static/@jtree_inf_engine/marginal_nodes_no_ev.m~ b/sourcecodes/bnt-master/BNT/inference/static/@jtree_inf_engine/marginal_nodes_no_ev.m~ new file mode 100644 index 00000000..220690ce --- /dev/null +++ b/sourcecodes/bnt-master/BNT/inference/static/@jtree_inf_engine/marginal_nodes_no_ev.m~ @@ -0,0 +1,18 @@ +function marginal = marginal_nodes_no_ev(bnet,engine, query) +% MARGINAL_NODES Get original distribution of the specified query nodes (jtree) +% marginal = marginal_nodes(bnet, engine, query) +% + +if ismember(query,bnet.dnodes) + marginal.domain = query; + marginal.T = CPD_to_CPT_orig(bnet.CPD{query}); + marginal.mu = []; + marginal.Sigma = []; +else + c = clq_containing_nodes(engine, query); + if c == -1 + error(['no clique contains ' num2str(query)]); + end + marginal = pot_to_marginal(marginalize_pot(engine.clpot{c}, query, engine.maximize)); +end + |
