data.gen.Rossler function

Generate predictor and response data: Rossler system

Generate predictor and response data: Rossler system

Generates a 3-dimensional time series using the Rossler equations.

data.gen.Rossler( a = 0.2, b = 0.2, w = 5.7, start = c(-2, -10, 0.2), time = seq(0, 50, length.out = 5000) )

Arguments

  • a: The a parameter. Default:0.2.
  • b: The b parameter. Default: 0.2.
  • w: The w parameter. Default: 5.7.
  • start: A 3-dimensional numeric vector indicating the starting point for the time series. Default: c(-2, -10, 0.2).
  • time: The temporal interval at which the system will be generated. Default: time=seq(0,50,length.out = 5000).

Returns

A list with four vectors named time, x, y

and z containing the time, the x-components, the y-components and the z-components of the Rossler system, respectively.

Details

The Rossler system is a system of ordinary differential equations defined as:

x˙=(y+z)dx/dt=(y+z) \dot{x} = -(y + z)dx/dt = -(y + z) y˙=x+aydy/dt=x+ay \dot{y} = x+a \cdot ydy/dt = x + a*y z˙=b+z(xw)dz/dt=b+z(xw) \dot{z} = b + z*(x-w)dz/dt = b + z*(x-w)

The default selection for the system parameters (a = 0.2, b = 0.2, w = 5.7) is known to produce a deterministic chaotic time series.

Note

Some initial values may lead to an unstable system that will tend to infinity.

Examples

### synthetic example - Rossler ts.r <- data.gen.Rossler( a = 0.2, b = 0.2, w = 5.7, start = c(-2, -10, 0.2), time = seq(0, 50, length.out = 1000) ) # add noise ts.r$x <- ts(ts.r$x + rnorm(length(ts.r$time), mean = 0, sd = 1)) ts.r$y <- ts(ts.r$y + rnorm(length(ts.r$time), mean = 0, sd = 1)) ts.r$z <- ts(ts.r$z + rnorm(length(ts.r$time), mean = 0, sd = 1)) ts.plot(ts.r$x, ts.r$y, ts.r$z, col = c("black", "red", "blue"))

References

RÖSSLER, O. E. 1976. An equation for continuous chaos. Physics Letters A, 57, 397-398.