Solving non linear delay differential equations with dde23

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일

0 개 추천

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

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)
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개)

카테고리

태그

질문:

2015년 4월 23일

댓글:

2015년 4월 23일

Community Treasure Hunt

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

Start Hunting!

Translated by