Description Usage Arguments Methods See Also Examples
This function is used to initialize objects derived from the
simObj
superclass, it is by default automatically called during
object creation and by sim
.
1 2 | ## S4 method for signature 'simObj'
initialize(.Object, ...)
|
.Object |
|
... |
provided for compatibility with the default method of
|
Generic function: see new
.
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. As a side effect end to ensure consistency,
initialize
clears outputs stored in slot out
from
former simulations.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | ## 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 = "lsoda",
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)) # initialize called automatically
plot(sim(lv_efr)) # automatic initialization, different figure
lv_efr<- initialize(lv_efr) # re-initialize manually
plot(sim(lv_efr, initialize = FALSE)) # simulation with that configuration
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.