Message Boards Message Boards

1
|
7768 Views
|
10 Replies
|
3 Total Likes
View groups...
Share
Share this post:

Second order system with different time scales

POSTED BY: Luciano Chaves
10 Replies

You get an integro-differential system directly, using the original two functions Is and Iz:

system[[1]] /. DSolve[system[[2]], Is, t]
POSTED BY: Gianluca Gorni
Attachments:
POSTED BY: Gianluca Gorni
POSTED BY: Luciano Chaves
POSTED BY: Kay Herbert
POSTED BY: Kay Herbert

You have a mess of parenthesis. I think your system should look like:

Clear[t];
a = 0.00001381594775713100;
c = 0.00007261477318255780;
j = 0.00004126704565565830;
d = 0.00006126704565565830;
b = 0.498812483;
r = 0.498812483;
Population = 40000;
mi = 0.4;
Na = Population*mi;
Ns = Population*(1 - mi);
ts = 400;

system = {
        Iz'[5t]/5 == a Iz[5t](Na - Iz[5t])  + j Iz[5t](Ns - Is[5t]) - b Iz[5t],
        Is'[t] == c Is[t](Ns - Is[t]) + d Is[t](Na - Iz[t]) - r Is[t]
        };

initialvalues = {Is[0] == 160, Iz[0] == 40};

solution = NDSolve[Join[system, initialvalues], {Iz, Is}, {t, 0, ts}];

But then it is a sort of Delay Differential Equation. So if you run it you get an error:

Initial history needs to be specified for all variables for delay-differential equations. >>

And if you look at the help DDLs have usually this sort of initial conditions:

ndssol = First[
   NDSolve[{x'[t] == y[t], y'[t] == -x[t - 1], x[t /; t <= 0] == t^2, 
     y[t /; t <= 0] == 2 t}, {x, y}, {t, 0, 5}]];
Plot[Evaluate[{x[t], y[t]} /. ndssol], {t, 0, 5}]

enter image description here

But then if here for example you change time shift into time rescaling like:

ndssol = First[
   NDSolve[{x'[t] == y[t], y'[t] == -x[2 t], x[t /; t <= 0] == t^2, 
     y[t /; t <= 0] == 2 t}, {x, y}, {t, 0, 5}]];
Plot[Evaluate[{x[t], y[t]} /. ndssol], {t, 0, 5}]

You get an error:

The method currently implemented for delay differential equations does not support delays that depend directly on the time variable or dependent variables. >>

So I think we might be in trouble here. An expert opinion is needed.

POSTED BY: Sam Carrettie
Posted 9 years ago

Yes, I agree it´s not a classical differential system. So, probabily It´s not possible to integrate those with NDSolve, is it? Thanks.

POSTED BY: Updating Name

Sam,

I´m not sure if this system has a kind of delay, despite the error message from Mathematica.

Actually, when we think about a system with delay, all equations have the same time scale for the derivatives. In others words, the left side of equations are in function of "t", and in the rigth side we have something in "t - x" or "t + x".

Thanks.

POSTED BY: Luciano Chaves

First I replace the function Iz[tau] with its equivalent Izt[t] such that Iz[tau]=Izt[tau/beta]

Clear[tau, beta, a, c, j, d, b, r, mi, Na, Ns, Population, ts];
system = {Iz'[
     tau] == ((a (Na - Iz[tau]) Iz[tau]) + (j (Ns - Is[tau]) Iz[
         tau]) - ((b)*Iz[tau])), 
   Is'[t] == ((c (Ns - Is[t]) Is[t]) + (d (Na - Iz[t]) Is[t]) - ((r)*
        Is[t]))};
newSystem = 
 system /. {Iz -> Function[\[Tau], Izt[\[Tau]/\[Beta]]]} /. 
  tau -> \[Beta]*t

What I get is not a classical differential system, because the unknown functions are evaluated at different times:

{Derivative[1][Izt][t]/\[Beta] == -b Izt[t] + 
   j (Ns - Is[t \[Beta]]) Izt[t] + a (Na - Izt[t]) Izt[t], 
 Derivative[1][Is][t] == -r Is[t] + c (Ns - Is[t]) Is[t] + 
   d Is[t] (Na - Izt[t/\[Beta]])}
POSTED BY: Gianluca Gorni
POSTED BY: Luciano Chaves
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract