d = Dataset(["a","b","c"])
d.addData(["laag","laag","hoog"])
d.addData(["laag","hoog","laag"])
d.addData(["hoog","laag","laag"])
d.addData(["hoog","hoog","hoog"])

def runCode(generator):
  cpcode = generator.generate(m)
  cc = CPCompiler()
  runmodel = cc.compileCode(cpcode,d)
  runmodel.iterations = 1000
  result = runmodel.run()
  return result

resnonlin = runCode(NonLinearCPLogicGenerator())
reslin = runCode(LinearCPLogicGenerator())

print "Niet-lineair:"
resnonlin.printReport()
g = GnuplotDrawer()
g.draw(resnonlin)
t = TableResultInterpreter()
r = t.interprete(m,resnonlin.latest())
ltri = LatexTableResultInterpreter(r)
print ltri.out()
print "Lineair:"
reslin.printReport()
g = GnuplotDrawer()
g.draw(reslin,prefix="lin-")
示例#2
0
from semcplogic.model import ModelBuilder
from semcplogic.cpmodel import NonLinearCPLogicGenerator,TableResultInterpreter
from semcplogic.cpcompiler import CPCompiler
from semcplogic.problogresult import GnuplotDrawer
import pprint

b = ModelBuilder()
b.addNode("a")
b.addNode("b",0,0)
b.addNode("c",0,0)
b.setInfluence("a","b",5)
b.setInfluence("a","c",5)
m = b.consume()

m.nodes["c"].setLevels(["laag","middel","hoog"])
d = m.sample(100)
d2 = d.discretise({"a":["laag","hoog"],"b":["laag","hoog"],"c":["laag","middel","hoog"]})

cm = NonLinearCPLogicGenerator()
cpcode = cm.generate(m)

cc = CPCompiler()
runmodel = cc.compileCode(cpcode,d2)
runmodel.iterations = 100
result = runmodel.run()
g = GnuplotDrawer()
g.draw(result)
t = TableResultInterpreter()
r = t.interprete(m,result.latest())
pprint.pprint(r)