
http://www.ma-xy.com
1.3 常微分方程数值方法 第一章 常微分方程
用于求解中性类型延迟微分方程。延迟微分方程在常微分方程的基础上添加时延,一般形式为
y
′
(t) = f (t, y(t), y(t − τ
1
), y(t − τ
2
), . . . , y(t − τ
n
))
其中:τ
1
, τ
2
, . . . , τ
n
> 0 是时延,y(t − τ
1
), y(t − τ
2
), . . . , y(t − τ
n
) 是时延项。
延迟微分方程中,y 在 t 时刻的状态增量 y
′
(t) 不仅与此时的状态 y(t) 有关,而且还与之前
的状态 y(t − τ
1
), y(t − τ
2
), . . . , y(t − τ
n
) 有关。如果你不是很熟悉 DDE,可以继续阅读后面章节,
在后面章节中你会慢慢体会到延迟的思想。
dde23 函数命令格式为
sol = dde23(ddefun,lags,history,tspan,options)
其中:ddefun 为时滞方程函数句柄;lags 为时间延迟向量,其中,τ
k
保存在 lags(k) 中;history
是描述 t ≤ t
0
时状态变量值的函数,可以是句柄也可以是常数;tspan 是时间区间;options 是参
数设置结构体;sol 为输出结构体,包括:sol.x,sol.y,sol.yp,solver 等。
ddesd 函数命令格式为
sol = ddesd(ddefun,delays,history,tspan,options)
其中:上述这个函数可以处理的延迟微分方程的一般形式为:
y
′
(t) = f (t, y(t), y(d(1)), y(d(2)), . . . , y(d(k)))
ddefun 为时滞方程函数句柄,例如:dydt=ddefun(t,y,z),t 对应当前时刻 t,y 是一个 y(t) 的近
似列向量,z 的第 j 个列向量对应 y(d(j)) 的估计;delays 为函数句柄,返回 d(j) 列向量,d(j)
可以依赖于 t 和 y(t)。
ddensd 函数命令格式为
sol = ddensd(ddefun,dely,delyp,history,tspan,options)
其中:上述这个函数可以处理的延迟微分方程的一般形式为:
y
′
(t) = f (t, y(t), y(dy
1
), ..., y(dy
p
), y
′
(dyp
1
), ..., y
′
(dyp
q
))
t is the independent variable representing time;dy
i
is any of p solution delays;dyp
j
is any of q
derivative delays.
3、MATLAB 中提供了 bvp4c,bvp5c 函数用于求解常微分方程边值问题。bvp4c 和 bvp5c
函数具有相同的命令格式
sol = bvp4/5c(odefun,bcfun,solinit,options)
solinit = bvpinit(x, yinit, params)
其中:bcfun 为边值函数句柄;solinit 为结构体:solinit.x 为取值范围,solinit.y 为初始猜测值,
solinit.params 为参数的初始猜测;options 为参数结构体;x 为时刻点,即边值时刻 x=[a,b],如
果是多点边值,x=[a,c,b];yint 为解的初始猜测值 y(a)。
http://www.ma-xy.com 10 http://www.ma-xy.com