Mercurial > hg > camir-ismir2012
view toolboxes/FullBNT-1.0.7/bnt/general/sample_bnet.m @ 0:cc4b1211e677 tip
initial commit to HG from
Changeset:
646 (e263d8a21543) added further path and more save "camirversion.m"
author | Daniel Wolff |
---|---|
date | Fri, 19 Aug 2016 13:07:06 +0200 |
parents | |
children |
line wrap: on
line source
function sample = sample_bnet(bnet, varargin) % SAMPLE_BNET Generate a random sample from a Bayes net. % SAMPLE = SAMPLE_BNET(BNET, ...) % % sample{i} contains the value of the i'th node. % i.e., the result is an Nx1 cell array. % Nodes are sampled in the order given by bnet.order. % % Optional arguments: % % evidence - initial evidence; if evidence{i} is non-empty, node i won't be sampled. % set defauly params n = length(bnet.dag); sample = cell(n,1); % get optional params args = varargin; nargs = length(args); for i=1:2:nargs switch args{i}, case 'evidence', sample = args{i+1}(:); otherwise, error(['unrecognized argument ' args{i}]) end end for j=bnet.order(:)' if isempty(sample{j}) %ps = parents(bnet.dag, j); ps = bnet.parents{j}; e = bnet.equiv_class(j); sample{j} = sample_node(bnet.CPD{e}, sample(ps)); end end