blob: f3142cd544996b025f997ab518d5c70060429244 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
function marginal = marginal_nodes(engine, query)
% MARGINAL_NODES Compute the marginal on the specified query nodes (gaussian)
% marginal = marginal_nodes(engine, query)
% Compute sum_{Hsum} Pr(Hkeep, Hsum | o)
H = engine.hnodes;
bnet = bnet_from_engine(engine);
ns = bnet.node_sizes;
Hkeep = myintersect(H, query);
Hsum = mysetdiff(H, Hkeep);
[marginal.mu, marginal.Sigma] = marginalize_gaussian(engine.Hmu, engine.HSigma, Hkeep, Hsum, ns);
marginal.domain = query;
marginal.T = 1;
|