# Update the parameters of a model
mussels <- ca_library("musselbed")
mussels[["parms"]] # old parameters
mussels_new <- update(mussels, parms = list(d = 0.2, delta = 0.1, r = 0.8))
mussels_new[["parms"]] # updated parameters
# Update the type of neighborhood, wrapping around the edges, and
# the parameters
mussels_new <- update(mussels,
parms = list(d = 0.2, delta = 0.1, r = 0.8),
wrap = TRUE,
neighbors = 8)
mussels_new
# \donttest{
# Run the model for different values of d, the death rate of mussels
ds <- seq(0, 0.25, length.out = 12)
initmat <- generate_initmat(mussels, c(0.5, 0.5, 0), nrow = 64, ncol = 64)
results <- lapply(ds, function(this_dvalue) {
musselmod <- update(mussels, parms = list(d = this_dvalue))
run <- run_camodel(musselmod, initmat, times = seq(0, 128))
data.frame(d = this_dvalue,
as.data.frame(tail(run[["output"]][["covers"]], 1)))
})
results <- do.call(rbind, results)
plot(results[ ,"d"], results[ ,"MUSSEL"], type = "b",
xlab = "d", ylab = "Mussel cover")
# }
Run the code above in your browser using DataLab