⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sample_node.m

📁 贝叶斯算法(matlab编写) 安装,添加目录 /home/ai2/murphyk/matlab/FullBNT
💻 M
字号:
function y = sample_node(CPD, pvals)% SAMPLE_NODE Draw a random sample from P(Xi | x(pi_i), theta_i)  (discrete)% y = sample_node(CPD, parent_evidence)%% parent_evidence{i} is the value of the i'th parentif 0n = length(pvals)+1;dom = 1:n;evidence = cell(1,n);evidence(1:n-1) = pvals;T = convert_to_table(CPD, dom, evidence);y = sample_discrete(T);endCPT = CPD_to_CPT(CPD);sz = mysize(CPT);nparents = length(sz)-1;switch nparents case 0, T = CPT; case 1, T = CPT(pvals{1}, :); case 2, T = CPT(pvals{1}, pvals{2}, :); case 3, T = CPT(pvals{1}, pvals{2}, pvals{3}, :); case 4, T = CPT(pvals{1}, pvals{2}, pvals{3}, pvals{4}, :); otherwise,  pvals = cat(1, pvals{:});  psz = sz(1:end-1);  ssz = sz(end);  i = subv2ind(psz, pvals(:)');  T = reshape(CPT, [prod(psz) ssz]);  T = T(i,:);endy = sample_discrete(T);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -