Solving non linear delay differential equations with dde23

8 次查看(过去 30 天)
i'm working on a delay differential equation that looks like this: f(y,z,y',z')(t)=a(y,z)(t)+b(y,z)(t-tau) g(y,z,y',z')(t)=c(y,z)(t)+d(y,z)(t-tau) The problem is, in MATLAB, dde23 only solves DDE when the differential terms are isolated (y'=F(t,y,ydel,z,zdel) , z'=G(t,y,ydel,z,zdel)).
Do you know if there's a way to work around it (or perhaps another available tool)? I've tried ddnsd assuming a null delay for delayed differential term but it only accepts non zero delays). Also trying to isolate y' and z' has revealed useless. Thank you

采纳的回答

Torsten
Torsten 2015-4-23
Just solve the system
f(y,z,y',z')(t)=a(y,z)(t)+b(y,z)(t-tau) g(y,z,y',z')(t)=c(y,z)(t)+d(y,z)(t-tau)
for y',z' (two nonlinear equations in the unknowns y' and z').
A possible tool is MATLAB's fsolve.
Best wishes
Torsten.
  2 个评论
Jacobo Levy Abitbol
Thank you for your quick answer, but wouldn't fsolve try to approximate y' and z'? (and therefore when there's an equilibrium in the system, it won't be able to represent the dynamical state of the system)
Torsten
Torsten 2015-4-23
If
f(y,z,y',z')= y'^2+sin(z')
g(y,z,y',z')=log(y')+atan(z')
e.g., fsolve will numerically solve the system
y'^2+sin(z')=a(y,z)(t)+b(y,z)(t-tau)
log(y')+atan(z')=c(y,z)(t)+d(y,z)(t-tau)
for y',z' if you declare y' and z' as the unknowns (all other variables are given).
And this s exactly what is needed for dde23 to work.
Best wishes
Torsten.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Delay Differential Equations 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by