REPLY First order oscillation (SD6460)
SDMAIL John Sterman
jsterman at MIT.EDU
Sat Jun 2 05:20:20 CDT 2007
Posted by John Sterman <jsterman at MIT.EDU>
A continuous time first-order system of the form
1. dx/dt = f(x)
cannot oscillate, whether it is linear or nonlinear. The system has
only one eigenvalue, so can never oscillate (even if it is
nonlinear). To get oscillation in continuous time requires at least
2 state variables. To get chaos in continuous time requires at least
three states and particular nonlinearities.
A discrete-time first-order system (mapping) of the form
2. x(t+1) = F(x(t))
can oscillate and, if it is nonlinear in a particular way, can
generate period doublings, chaos, and other interesting dynamics.
One way to think about this is to reformulate the discrete-time map
in continuous time. The difference-equation formulation implies that
there is a time delay of 1 "period" in the feedback loop from x to
its rate of change. Further, that delay is a "pipeline" delay:
output(t) = intput(t-L), where L is the length of the delay, in this
case, one "period". The pipeline delay is the limit of the Erlang
delay family as the order of the Erlang delay goes to infinity (it is
thus also called an infinite-order delay). Consequently, the
continuous time equivalent of the discrete-time mapping eq. 2. is
actually an infinite-order system. Such a system can oscillate of
course and can generate chaos etc.
Difference equations became popular (in economics, at least) because
economic data are typically published at regular intervals such as
quarterly or annually, and it was convenient for econometric
estimation to model economic dynamics as proceeding in discrete
steps. However, while difference equations are often useful, one
must be careful because there is an irreducible time delay of at
least 1 period in every feedback loop. If the length of this period
is long relative to the time constants for the real-world processes
being modeled, the result can be the introduction of spurious
dynamics (e.g., oscillations caused by the time step). Further, any
more complex delays must be integer multiples of the "period" between
time steps in the difference equations. This is often inappropriate
and inconsistent with the data.
It's generally better practice to model the dynamics of a system
continuously, explicitly representing relevant time delays as the
data suggest, including their mean and distribution, rather than
assuming a pipeline delay of 1 period in the updating of every state
variable.
John Sterman
Posted by John Sterman <jsterman at MIT.EDU>
posting date Fri, 1 Jun 2007 07:39:50 -0400
More information about the SDMail
mailing list