wolffd@0: function pot = enter_discrete_evidence_pot(pot, Y, y) wolffd@0: wolffd@0: %ns = sparse(1, max(pot.domain)); wolffd@0: ns = zeros(1, max(pot.domain)); wolffd@0: ns(pot.ddom) = pot.dsizes; wolffd@0: ns(pot.cdom) = pot.csizes; wolffd@0: wolffd@0: ddom = pot.ddom; wolffd@0: S = prod(ns(ddom)); wolffd@0: sub = ind2subv(ns(ddom), 1:S); wolffd@0: mask = find_equiv_posns(Y, ddom); wolffd@0: sub(mask) = y; wolffd@0: ndx = subv2ind(ns(ddom), sub); wolffd@0: wolffd@0: pot.can = pot.can(ndx); wolffd@0: pot.mom = pot.mom(ndx);