基于Scipy的延迟微分方程求解器
项目描述
ddeint
Scipy-based延迟微分方程(DDE)求解器。有关更多信息,请参阅文档字符串和示例。
示例
from pylab import cos, linspace, subplots
from ddeint import ddeint
# We solve the following system:
# Y(t) = 1 for t < 0
# dY/dt = -Y(t - 3cos(t)**2) for t > 0
def values_before_zero(t):
return 1
def model(Y, t):
return -Y(t - 3 * cos(Y(t)) ** 2)
tt = linspace(0, 30, 2000)
yy = ddeint(model, values_before_zero, tt)
fig, ax = subplots(1, figsize=(4, 4))
ax.plot(tt, yy)
ax.figure.savefig("variable_delay.jpeg")
from pylab import array, linspace, subplots
from ddeint import ddeint
# We solve the following system:
# X(t) = 1 (t < 0)
# Y(t) = 2 (t < 0)
# dX/dt = X * (1 - Y(t-d)) / 2
# dY/dt = -Y * (1 - X(t-d)) / 2
def model(Y, t, d):
x, y = Y(t)
xd, yd = Y(t - d)
return array([0.5 * x * (1 - yd), -0.5 * y * (1 - xd)])
g = lambda t: array([1, 2])
tt = linspace(2, 30, 20000)
fig, ax = subplots(1, figsize=(4, 4))
for d in [0, 0.2]:
print("Computing for d=%.02f" % d)
yy = ddeint(model, g, tt, fargs=(d,))
# WE PLOT X AGAINST Y
ax.plot(yy[:, 0], yy[:, 1], lw=2, label="delay = %.01f" % d)
ax.figure.savefig("lotka.jpeg")
许可
公有领域。欢迎 everyone 贡献!
安装
ddeint可以通过在一个目录中解压源代码并使用此命令进行安装:
(sudo) python setup.py install
您也可以使用此命令直接从Python包索引安装它:
(sudo) pip install ddeint
项目详情
下载文件
下载适合您平台的文件。如果您不确定要选择哪个,请了解更多关于安装包的信息。
源代码发行版
ddeint-0.3.0.tar.gz (6.9 kB 查看哈希值)
构建发行版
ddeint-0.3.0-py3-none-any.whl (6.8 kB 查看哈希值)