利用 Matlab 实现具有常时滞的 DDE
延迟微分方程 (DDE) 是一类对时间具有依赖性的微分方程,其中系统响应取决于过去的状态。在控制论、光学和生物学等领域, DDE 受到广泛关注。本文将介绍如何使用 Matlab 来模拟具有常时滞的 DDE。
我们考虑以下的 DDE:
x’(t) = -a x(t) + b x(t-τ)
其中 a 和 b 是已知的正常数, τ 是常时滞。在本例中,我们将使用 a=1,b=0.5,和 τ=3。此外,我们需要指定初值条件 x(0) = 1 和最终时间 t_final=30。
为了解决这个问题,我们需要使用 MatLab 的 dde23 函数。 此函数具有如下语法:
[t,y] = dde23(ddefun,lags,history,tspan);
其中 ddefun 是一个句柄函数,它描述了 DDE 的右侧; lags 描述了延迟的数量和大小; history 是一个列向量,包含了自变量 tau 之前的所有因变量值,重复出现 delay 的次数; tspan 是时间向量,描述要求解的时间范围。
首先,我们需要定义 ddefun 函数,它描述了 DDE 的右侧:
function xdot = mydde(t,x,Z)
a = 1;