Filter löschen
Filter löschen

Solving non linear delay differential equations with dde23

8 Ansichten (letzte 30 Tage)
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

Akzeptierte Antwort

Torsten
Torsten am 23 Apr. 2015
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 Kommentare
Jacobo Levy Abitbol
Jacobo Levy Abitbol am 23 Apr. 2015
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 am 23 Apr. 2015
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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by