Interdisciplinary Nonlinear Dynamics (438)
For Discussion Section October 16|
Note: the discussion section is on Wednesdays 5-6 in L251
- Some Short Nice Problems from Strogatz
- 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.
- 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
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%.
|E2 = ||
- 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?
- 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
- 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?
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
as a function of Dt and establish that
this difference shows the correct scaling in Dt.
- Uniqueness of Solutions
with f(u0) = 0.
- 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.
- In class it was stated that if f¢(u) is continuous the solution
to (3) is unique. Discuss in this context the equation
for which clearly f¢(u) is not continuous. Is the solution to this equation
unique for all initial conditions? Why not? Why?
- Do Strogatz 2.5.6 (leaky bucket problem).
- Predictor-Corrector Methods
Consider the differential equation
The solution uj+1 º u(t+Dt) can be written exactly as
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
|uj+1 = uj+||
1Use the matlab command loglog instead
File translated from
On 3 Oct 2002, 22:07.