使用PyDSTool的非负约束 - 不起作用

时间:2015-07-27 20:17:44

标签: python

我最近在寻找可以解决ODE系统并遵守约束的东西时发现了PyDSTool(我的图形所需要的是值,因为它们是模拟群体,因此值保持在0以上)。虽然文档相当差,但基本用法并不是那么困难,但我在加入非负性约束时遇到了一些麻烦。

就好像 xdomain 一行被完全忽略了一样。下面的代码生成了一个横跨x轴的图,所以我必须在设置边界时做错。有人有什么建议吗?

import PyDSTool as pdt

ini = {'A':1000,'B':1000,'C':1000}
DSargs = pdt.args(name='test',
                  ics=ini,
                  tdata = [0,20],
                  varspecs = {'A':'-100','B':'0','C':'1'},
                  xdomain = {'A':[0,pdt.Inf],'B':[0,pdt.Inf],'C':[0,pdt.Inf],'incontact':1})
DS = pdt.Generator.Vode_ODEsystem(DSargs)
traj = DS.compute('test')
pts = traj.sample()


pdt.plt.plot(pts['t'],pts['A'],label='A')
pdt.plt.plot(pts['t'],pts['B'],label='B')
pdt.plt.plot(pts['t'],pts['C'],label='C')
pdt.plt.legend()
pdt.plt.xlabel('t')
pdt.plt.show()

0 个答案:

没有答案