wolffd@0: function [marginals, marginalsT] = project_joint_onto_marginals(joint, hnodes, ns) wolffd@0: wolffd@0: ss = length(ns); wolffd@0: jointT = dpot(hnodes, ns(hnodes), joint); wolffd@0: marginalsT = cell(1, ss); wolffd@0: marginals = cell(1,ss); wolffd@0: for i=hnodes(:)' wolffd@0: marginalsT{i} = marginalize_pot(jointT, i); wolffd@0: m = pot_to_marginal(marginalsT{i}); wolffd@0: marginals{i} = m.T(:); wolffd@0: end