Numerically solves a two-dimensional autonomous ODE system for a given
initial condition, using ode from the package
deSolve. It then plots the dependent variables against
the independent variable.
numericalSolution(
deriv,
y0 = NULL,
tlim,
tstep = 0.01,
parameters = NULL,
type = "one",
col = c("red", "blue"),
add.grid = TRUE,
add.legend = TRUE,
state.names = c("x", "y"),
xlab = "t",
ylab = state.names,
method = "ode45",
...
)Returns a list with the following components:
As per input.
As per input.
As per input, but with possible editing if a
character vector of the wrong
length was supplied.
As per input.
As per input.
As per input.
A numeric vector containing
the values of the independent variable at each integration step.
As per input.
As per input.
A numeric vector containing
the numerically computed values of the first dependent variable at each
integration step.
A numeric vector containing
the numerically computed values of the second dependent variable at each
integration step.
As per input.
A function computing the derivative at a point for the ODE
system to be analysed. Discussion of the required structure of these
functions can be found in the package vignette, or in the help file for the
function ode.
The initial condition. Should be a numeric
vector of length two reflecting
the location of the two dependent variables initially.
Sets the limits of the independent variable for which the
solution should be plotted. Should be a numeric
vector of length two. If
tlim[2] > tlim[1], then tstep should be negative to indicate a
backwards trajectory.
The step length of the independent variable, used in numerical
integration. Decreasing the absolute magnitude of tstep theoretically
makes the numerical integration more accurate, but increases computation
time. Defaults to 0.01.
Parameters of the ODE system, to be passed to deriv.
Supplied as a numeric vector; the
order of the parameters can be found from the deriv file. Defaults to
NULL.
If set to "one" the trajectories are plotted on the same
graph. If set to "two" they are plotted on separate graphs. Defaults
to "one".
Sets the colours of the trajectories of the two dependent
variables. Should be a character
vector of length two. Will be reset
accordingly if it is of the wrong length. Defaults to
c("red", "blue").
Logical. If TRUE, grids are added to the plots.
Defaults to TRUE.
Logical. If TRUE, a legend
is added to the plots. Defaults to TRUE.
The state names for ode functions
that do not use positional states.
Label for the x-axis of the resulting plot.
Label for the y-axis of the resulting plot.
Passed to ode. See there for further
details. Defaults to "ode45".
Additional arguments to be passed to
plot.
Michael J Grayling
ode, plot
# A two-dimensional autonomous ODE system, vanDerPol.
vanDerPol_numericalSolution <- numericalSolution(vanDerPol,
y0 = c(4, 2),
tlim = c(0, 100),
parameters = 3)
Run the code above in your browser using DataLab