initialize-methods {simecol} | R Documentation |
Methods for Function 'initialize' in Package 'simecol'
Description
This function is used to initialize objects derived from the simObj
superclass.
Usage
## S4 method for signature 'simObj':
initialize(.Object, ...)
Arguments
.Object |
The simObj instance which is to be re-initialized. |
... |
Provided for compatibility with the default method of
initialize , or slots of the object which is to be
created (in case of new ) |
Methods
- .Object = "ANY"
- Generic function: see
new
.
- .Object = "simObj"
- The
initialize
function is normally called implicitly by new
to create new objects. It may also be called explicitly to return a cloned
and re-initialized object.
The simecol version of initialize
provides an additonal mechanism
to call a user specified function provided in the initfun
slot
of a simObj
instance that can perform computations during the
object creation process. The initfunc
must have obj
as its
only argument and must return the modified version of this obj
,
see examples below.
See Also
simObj
, new
Examples
# Note: new calls initialize and initialize calls initfunc(obj)
lv_efr <- new("odeModel",
main = function (time, init, parms, ...) {
x <- init
p <- parms
S <- approxTime1(inputs, time, rule=2)["s.in"]
dx1 <- S * p["k1"] * x[1] - p["k2"] * x[1] * x[2]
dx2 <- - p["k3"] * x[2] + p["k2"] * x[1] * x[2]
list(c(dx1, dx2))
},
parms = c(k1=0.2, k2=0.2, k3=0.2),
times = c(from=0, to=100, by=0.5),
init = c(prey=0.5, predator=1),
solver = "rk4",
initfunc = function(obj) {
tt <- fromtoby(times(obj))
inputs(obj) <- as.matrix(data.frame(
time = tt,
s.in = pmax(rnorm(tt, mean=1, sd=0.5), 0)
))
obj
}
)
plot(sim(lv_efr)) # first call
plot(sim(lv_efr)) # same figure with identical object
lv_efr<- initialize(lv_efr) # re-initializes, new random inputs
plot(sim(lv_efr)) # different figure
[Package
simecol version 0.4-2
Index]