?? sample_node_single_case.m
字號(hào):
function y = sample_node(CPD, pev)
% SAMPLE_NODE Draw a random sample from P(Xi | x(pi_i), theta_i) (tabular)
% y = sample_node(CPD, pev)
%
% pev{i} is the value of the i'th parent (if any)
%assert(~any(isemptycell(pev)));
%CPT = CPD_to_CPT(CPD);
%sz = mysize(CPT);
sz = CPD.sizes;
nparents = length(sz)-1;
if nparents > 0
pvals = cat(1, pev{:});
end
switch nparents
case 0, T = CPD.CPT;
case 1, T = CPD.CPT(pvals(1), :);
case 2, T = CPD.CPT(pvals(1), pvals(2), :);
case 3, T = CPD.CPT(pvals(1), pvals(2), pvals(3), :);
case 4, T = CPD.CPT(pvals(1), pvals(2), pvals(3), pvals(4), :);
otherwise,
psz = sz(1:end-1);
ssz = sz(end);
i = subv2ind(psz, pvals(:)');
T = reshape(CPD.CPT, [prod(psz) ssz]);
T = T(i,:);
end
if sz(end)==2
r = rand(1,1);
if r > T(1)
y = 2;
else
y = 1;
end
else
y = sample_discrete(T);
end
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -