about summary refs log tree commit diff
path: root/sourcecodes/bnt-master/BNT/potentials/mk_initial_pot.m
diff options
context:
space:
mode:
Diffstat (limited to 'sourcecodes/bnt-master/BNT/potentials/mk_initial_pot.m')
-rw-r--r--sourcecodes/bnt-master/BNT/potentials/mk_initial_pot.m29
1 files changed, 29 insertions, 0 deletions
diff --git a/sourcecodes/bnt-master/BNT/potentials/mk_initial_pot.m b/sourcecodes/bnt-master/BNT/potentials/mk_initial_pot.m
new file mode 100644
index 00000000..0a52731c
--- /dev/null
+++ b/sourcecodes/bnt-master/BNT/potentials/mk_initial_pot.m
@@ -0,0 +1,29 @@
+function pot = mk_initial_pot(pot_type, dom, ns, cnodes, onodes)
+% MK_INITIAL_POT A "initial" potential is one which has not had any evidence entered into it.
+% pot = mk_initial_pot(pot_type, domain, node_sizes, cnodes, onodes)
+%
+% pot_type is one of 'd', 'g', 'cg' or 'u'
+% domain is the set of nodes to be included in the potential.
+% node_sizes(i) is the size of node i.
+
+switch pot_type 
+ case 'd',
+  ns(onodes) = 1;
+  pot = dpot(dom, ns(dom));
+ case 'u',
+  ns(onodes) = 1;
+  pot = upot(dom, ns(dom));
+ case 'g',
+  ns(onodes) = 0;
+  pot = cpot(dom, ns(dom));
+ case 'cg',
+  dnodes = mysetdiff(1:length(ns), cnodes);
+  ddom = myintersect(dnodes, dom);
+  cdom = myintersect(cnodes, dom);
+  dobs = myintersect(dnodes, onodes);
+  cobs = myintersect(cnodes, onodes);
+  ns(dobs) = 1;
+  ns(cobs) = 0;
+  pot = cgpot(ddom, cdom, ns);
+end
+