Interdisciplinary Nonlinear Dynamics (438)

Fall 2002
Hermann Riecke

Problem Set 1

For Discussion Section October 16

Note: the discussion section is on Wednesdays 5-6 in L251

  1. Some Short Nice Problems from Strogatz

    2.2.9, 2.2.10.

  2. Population Growth with Eggs

    Consider the dynamics of a population of animales that lay eggs and investigate the following simple model. The animals propagate by laying eggs, which only after a time t have hatched and matured and can lay new eggs. The rate at which they lay eggs is adversely affected if the population N is too dense, i.e. assume the rate decreases linearly in N. Similary the death rate increases linearly with N. Thus, you get
    = -aN(t)-bN(t)2+aN(t-t)-bN(t-t)2.

    1. Nondimensionalize the evolution equation by using the magnitude of the death rates |a| and |b| as characteristic scales (in order to leave the delay as a control parameter). In this process a, b, and t will be rescaled to [(a)\tilde], [(b)\tilde], and [(t)\tilde]. In the rest of the problem we will omit the  [\tilde]  over the symbols again and write a, etc.

    2. Use the matlab program available on the class web site to solve first the usual logistic equation, in which the delay vanishes, t = 0, and a = -1 and b = 1. Compare the numerical to the analytical solution by calculating
      E2 =


       (nex(t)-nnum(t))2 dt


       (nex(t))2 dt
      where n is the dimensionless density and tmax is chosen appropriately so that n has just about reached its stationary value. Measure the error E as a function of the size Dt of the time step, decreasing Dt repeatedly by factors of 2. Plot E(Dt) double-logarithmically1 and confirm that for small Dt it is linear in Dt. Choose the time step small enough to get the error below 1%.

    3. To get a feeling for the stability of the simple forward Euler method used in the matlab program investigate the behavior of the numerical solution as you increase Dt in factors of 2 up to values of Dt = 3. What change in the behavior do you observe?

    4. Modify the matlab program to solve the (dimensionless) evolution equation for t 0. Now choose a = +1 and b = 1. The initial conditions require the knowledge of n(t) for -t < t < 0. Use n(t) = 0 for that range of t (no eggs laid yet).

    5. Study the dynamics of the equation numerically for t = 3 and b = 3.7 over a range of a between 10 and 20 (all in dimensionless quantities). Does the behavior change qualitatively when changing a? How does it differ from that of the simple logistic equation without delay? How is this behavior possible although the equation is only first-order in time?

    6. Establish that the behavior you observe is not a numerical artifact by performing a convergence test for one representative case. Since you do not know the exact solution plot the difference n(t0,Dt)-n(t0,Dt/2) for some suitably chosen fixed t0 double-logaritmically as a function of Dt and establish that this difference shows the correct scaling in Dt.

  3. Uniqueness of Solutions

    1. Consider
      = f(u).
      with f(u0) = 0.

      1. Show that for functions f(u) that satisfy the Lipschitz condition in an interval [u0-Du,u0+Du] around the stable fixed point u0 the time to reach that fixed point is infinite. Discuss this result in view of the uniqueness theorem for solutions stated in class.
      2. In class it was stated that if f(u) is continuous the solution to (3) is unique. Discuss in this context the equation
        = |u|,
        for which clearly f(u) is not continuous. Is the solution to this equation unique for all initial conditions? Why not? Why?

    2. Do Strogatz 2.5.6 (leaky bucket problem).

  4. Predictor-Corrector Methods

    Consider the differential equation
    = f(u).
    The solution uj+1 u(t+Dt) can be written exactly as
    uj+1 = uj+

    f(u(t)) dt,
    where tj = j Dt. Use the trapezoidal method to approximate the integral in (6). This would require the knowledge of uj+1, which is still unknown. Determine an approximation [`u] for uj+1 in the trapezoidal rule by a forward Euler step starting from uj (this step is called the predictor step) and use it to determine then uj+1 (this step is called the corrector step). What order in Dt is the error for this predictor-corrector scheme?


1Use the matlab command loglog instead of plot.

File translated from TEX by TTH, version 2.60.
On 3 Oct 2002, 22:07.