We use models (e.g. ODE) to understand the dependencies and interactions of the system’s state variables.
Models allow us to “play” with systems …
Data from experiments / measurements reflect many simultaneous processes. Such data are also contaminated with “noise” (stochastic events, measurement errors).
In a model, it is much easier to disentangle the impacts of individual processes.
Models can be used in “forward mode” to predict future states and understand system behavior (e.g. resilience).
Models help solving “inverse problems” concerned with the estimation of quantities (e.g. parameters) which cannot be observed directly.
So far, we studied “well-behaved” systems exposed to simple and constant boundary conditions.
For a particular set of parameters, those systems converged to a unique steady state solution.
Many real-world systems are more complex internally (more variables and interactions). They are also exposed to complex external forcings (time-variable boundary conditions).
Consequently, such systems exhibit additional kinds of “behavior” like, e.g., oscillations and hysteresis.
In subsequent lessons, we’ll pick a few examples which are still pretty simple but suited for learning about such behavior.
With regard to formal mathematical analysis, we will only scratch the surface.
All examples are implemented in workbooks shipped with the rodeoEasy package. To open these files with a spreadsheet software, use your file manager and navigate to the folder pointed to by the following R command:
The current state of a system can be regarded as a point in the so-called state space (or phase space).
The number of dimensions of the state space equals the number of state variables.
Consider a bacterial culture in a continuous flow stirred tank reactor: The two dimensions are bacterial biomass and substrate concentration.
We already looked at systems converging toward a steady state if the external forcings remain constant over longer periods of time. Such points in state space toward which a system tends to evolve are called attractors.
Attractors are like magnets. If the the initial state of a system is close enough to the attractor, future states are pulled toward that point (or shape) in state space.
The region around the attractor where the apparent magnetic force is noticeable is called a basin of attraction.
rm(list=ls())
library("rodeoEasy")
workbook <- system.file("models/growth_continuous.xlsx",
package="rodeoEasy")
m <- build(workbook)
common <- c(y=1e5, R_in=1)
scen <- list(
start1 = c(common, N=5000, R=1),
start2 = c(common, N=5000, R=.2),
start3 = c(common, N=500000, R=1),
start4 = c(common, N=200000, R=.5),
start5 = c(common, N=20000, R=.05),
start6 = c(common, N=2e5, R=.02),
start7 = c(common, N=1e5, R=.02)
)
x <- run.scenarios(m, times=seq(0, 72, 0.5),
scenarios=scen, plot.vars=FALSE)
omar <- par("mar"); par(mar=c(4,4,1,1))
with(x, plot(R, N, type="n", log="xy"))
fn <- function(x) {
points(x[1,"R"], x[1,"N"], pch=20)
points(x[nrow(x),"R"], x[nrow(x),"N"], cex=2)
lines(x[,"R"], x[,"N"])
}
by(x, x[,"scenario"], fn)
legend("bottomleft", bty="n", pch=c(20, 1, NA), lty=c(NA, NA, 1),
legend=c("Initial states","Steady state (attractor)","Trajectories")
)
par(mar=omar)
Fixed point attractors: A particular point in state space (see example).
Limit cycles: A closed trajectory in state space. Other trajectories starting at closeby positions spiral into that closed tracectory as time passes. Limit cycles are usually connected to systems with stable oscillations.
Strange attractors: If the attractor cannot be described by a simple geometric shape (e.g. a point, line, surface, or sphere), it is called “strange”.
Strange attractors are usually related to systems whose dynamics are particularly difficult to predict, because the solution is extremely sensitive to perturbations.
Thus, strange attractors are linked to deterministic chaos.
A well-known example is the Lorenz attractor.