vanDerPol: The Van der Pol oscillator

View source: R/vanDerPol.R

vanDerPolR Documentation

The Van der Pol oscillator

Description

The derivative function of the Van der Pol Oscillator, an example of a two-dimensional autonomous ODE system.

Usage

vanDerPol(t, y, parameters)

Arguments

t

The value of t, the independent variable, to evaluate the derivative at. Should be a numeric vector of length one.

y

The values of x and y, the dependent variables, to evaluate the derivative at. Should be a numeric vector of length two.

parameters

The values of the parameters of the system. Should be a numeric vector prescribing the value of μ.

Details

vanDerPol evaluates the derivative of the following ODE at the point (t, x, y):

dx/dt = y, dy/dt = μ(1 - x2)y - x.

Its format is designed to be compatible with ode from the deSolve package.

Value

Returns a list containing the values of the two derivatives at (t, x, y).

Author(s)

Michael J Grayling

See Also

ode

Examples

# Plot the velocity field, nullclines and several trajectories.
vanDerPol_flowField         <- flowField(vanDerPol,
                                         xlim       = c(-5, 5),
                                         ylim       = c(-5, 5),
                                         parameters = 3,
                                         points     = 15,
                                         add        = FALSE)
y0                          <- matrix(c(2, 0, 0, 2, 0.5, 0.5), 3, 2,
                                      byrow = TRUE)

vanDerPol_nullclines        <- nullclines(vanDerPol,
                                          xlim       = c(-5, 5),
                                          ylim       = c(-5, 5),
                                          parameters = 3,
                                          points     = 500)

vanDerPol_trajectory        <- trajectory(vanDerPol,
                                          y0         = y0,
                                          tlim       = c(0, 10),
                                          parameters = 3)
# Plot x and y against t
vanDerPol_numericalSolution <- numericalSolution(vanDerPol,
                                                 y0         = c(4, 2),
                                                 tlim       = c(0, 100),
                                                 parameters = 3)
# Determine the stability of the equilibrium point
vanDerPol_stability         <- stability(vanDerPol,
                                         ystar      = c(0, 0),
                                         parameters = 3)

phaseR documentation built on Sept. 2, 2022, 5:07 p.m.