Historize | R Documentation |
Provides storage for function calls.
Historize(fun, len = 0, ...)
fun |
Function of one or several variables. |
len |
Allowed length of the input variables. |
... |
Additional parameters to be handed to the function. |
Historize() adds storage to the function. If len=0
then only
function values will be stored in a vector, if len>0
then
variables and function values will be stored in a matrix, one line
for every function call.
If Fn = Historize(...)
is the 'historized' function, then the
storage can be retrieved with Fn()
and can be cleared with
Fn(NULL)
.
Filling the storage will take extra time and can slow down the
function calls. Especially also storing the variables used in the
call (with len>0
) will make it considerably slower.
Functions can have multivariate output; the user is asked to take care of handling the output vector or matrix correctly. The function may even require additional parameters.
Returns a function identical to the original function, but the new function will now store its function calls in a vector or matrix.
Can also be applied to functions that output a vector (same length for every call).
Hans W. Borchers
trace
Fn <- Historize(fnRastrigin) dm <- 10 lb <- rep(-5.2, dm); ub <- -lb # Fn(NULL) sol <- simpleDE(Fn, lower = lb, upper = ub) fvalues <- Fn() fvals <- cummin(fvalues) ## Not run: plot(fvalues, type = 'p', col = 7, pch = '.', cex = 2, main = "Simple DE optimization", xlab = '', ylab = '') lines(fvals, col = 2, lwd = 1) legend(length(fvalues), max(fvalues), c("Intermediate values", "cummulated min"), xjust = 1, col = c(7, 1), lwd = 2) grid() ## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.