Take the 2-minute tour ×
Mathematica Stack Exchange is a question and answer site for users of Mathematica. It's 100% free, no registration required.

There is a set of DDE's that arise in leukemia dynamics and I'd like to find the equilibrium points of the system by setting all of the derivatives equal to zero. The system can be described in Mathematica code as follows:

Ctotal = y0 + y1 + y2 + y3 + z0 + z1 + z2 + z3;
p[C_, T_, cn_, p0_, k_] := p0*Exp[-cn*C]*k*T;
dy0dt[ry_, u_, d0_, qC_, cn_, p0_, k_] := 
  (ry (1 - u) - d0)*y0 - qC*p[Ctotal, T, cn, p0, k]*y0;
dy1dt[ay_, d1_, qC_, cn_, p0_, k_] := 
  ay*y0 - d1*y1 - qC*p[Ctotal, T, cn, p0, k]*y1;
dy2dt[by_, d2_, qC_, cn_, p0_, k_] := 
  by*y1 - d2*y2 - qC*p[Ctotal, T, cn, p0, k]*y2;
dy3dt[cy_, d3_, qC_, cn_, p0_, k_] := 
  cy*y2 - d3*y3 - qC*p[Ctotal, T, cn, p0, k]*y3;
dz0dt[rz_, d0_, ry_, u_, qC_, cn_, p0_, k_] := 
  (rz - d0)*z0 + ry*u*y0 - qC*p[Ctotal,T,cn, p0, k]*z0;
dz1dt[az_, d1_, qC_, cn_, p0_, k_] := 
  az*z0 - d1*z1 - qC*p[Ctotal, T, cn, p0, k]*z1;
dz2dt[bz_, d2_, qC_, cn_, p0_, k_] := 
  bz*z1 - d2*z2 - qC*p[Ctotal, T, cn, p0, k]*z2;
dz3dt[cz_, d3_, qC_, cn_, p0_, k_] := 
  cz*z2 - d3*z3 - qC*p[Ctotal, T, cn, p0, k]*z3;
dTdt[sT_, dT_, n_, qT_, cn_, p0_, k_] := 
  sT - dT*T - p[Ctotal, T, cn, p0, k]*Ctotal + 2^(n)*p[Ctotal, T, cn, p0, k]*qT*Ctotal;

Now, setting them all equal to zero and using Solve did not get me very far. I have a feeling that because there are so many equations, Solve having trouble finding a solution. Maybe it will find one, but it might take a long time before something happens. I have had some mild success using FindRoot[], however that only gives me an approximate solution to my problem, and it is very possible that there will be more than one equilibrium point as well. I'd like to also note that I want to be able to solve for y0, y1, y2, y3, z0, z1, z2, z3,and T.

Does anyone have any ideas? I know it's kind of a complex system, but there's got to be a way to get some equilibrium points here, besides the obvious solution (0, 0, 0, 0, 0, 0, 0, 0, sT/dT)

EDIT1: Here's what I used as a solve argument

Solve[ dy0dt[ry, u, d0, qC, cn, p0, k] == 0 && 
dy1dt[ay, d1, qC, cn, p0, k] == 0 && 
dy2dt[by, d2, qC, cn, p0, k] == 0 && 
dy3dt[cy, d3, qC, cn, p0, k] == 0 &&
dz0dt[rz, d0, ry, u, qC, cn, p0, k] == 0 &&
dz1dt[az, d1, qC, cn, p0, k] == 0 &&
dz2dt[bz, d2, qC, cn, p0, k] == 0 &&
dz3dt[cz, d3, qC, cn, p0, k] == 0 &&
dTdt[sT, dT, n, qT, cn, p0, k] == 0, {y0, y1, y2, y3, z0, z1, z2, z3, T}]

If possible, I want to do it analytically. There should be at least three. Even if it did find one of the non-trivial equilibrium points it would be helpful.

share|improve this question
2  
Could you show your Solve try, to see which arguments the different functions have ? –  b.gatessucks Aug 12 '13 at 6:24
    
Hi, David, it were good to see the rest of the code. It seems to me that you are looking for a numerical solution? If that is the case have a look at NDSolve which can handle DDEs. –  user21 Aug 12 '13 at 7:02
    
Not a numerical solution, just want to find the equilibrium points of the system. So I guess it's not really important that it's a DDE, as you simply treat those with delays as having none. My Solve argument is edited in. –  David Sacco Aug 12 '13 at 7:39
add comment

Know someone who can answer? Share a link to this question via email, Google+, Twitter, or Facebook.

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.