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

📄 sample_node_single_case.m

📁 CGridCtrl_demo for mobile robots
💻 M
字号:
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{:});endswitch 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,:);endif sz(end)==2  r = rand(1,1);  if r > T(1)    y = 2;  else    y = 1;  endelse  y = sample_discrete(T);end

⌨️ 快捷键说明

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