Description Usage Arguments Details Value References Examples
Electronic LEngth Frequency ANalysis with simulated annealing for estimating growth parameters.
1 2 3 4 5  ELEFAN_SA(x, seasonalised = FALSE, init_par = list(Linf = 50, K = 0.5,
t_anchor = 0.5, C = 0, ts = 0), low_par = NULL, up_par = NULL,
SA_time = 60 * 1, maxit = NULL, nb.stop.improvement = NULL,
SA_temp = 1e+05, verbose = TRUE, MA = 5, addl.sqrt = FALSE,
agemax = NULL, flagging.out = TRUE, plot = FALSE, plot.score = TRUE)

x 
a list consisting of following parameters:

seasonalised 
logical; indicating if the seasonalised von Bertalanffy growth function should be applied (default: FALSE). 
init_par 
a list providing the Initial values for the components to be optimized. When set to NULL the following default values are used:

low_par 
a list providing the lower bounds for components. When set to NULL the following default values are used:

up_par 
a list providing the upper bounds for components. When set to NULL the following default values are used:

SA_time 
numeric; Maximum running time in seconds (default : 60 * 1). 
maxit 
Integer. Maximum number of iterations of the algorithm. Default is NULL. 
nb.stop.improvement 
Integer. The program will stop when there is no any improvement in 'nb.stop.improvement' steps. Default is NULL 
SA_temp 
numeric; Initial value for temperature (default : 1e5). 
verbose 
logical; TRUE means that messages from the algorithm are shown (default : TRUE). 
MA 
number indicating over how many length classes the moving average should be performed (defalut: 5, for more information see lfqRestructure). 
addl.sqrt 
Passed to lfqRestructure. Applied an additional squareroot transformation of positive values according to Brey et al. (1988). (default: FALSE, for more information see lfqRestructure). 
agemax 
maximum age of species; default NULL, then estimated from Linf 
flagging.out 
logical; passed to lfqFitCurves. Default is TRUE 
plot 
logical; Plot restructured counts with fitted lines using

plot.score 
logical; Plot simulated annealing score progression. (Default: plot.score=TRUE) 
A more detailed description of the simulated annealing (SA) can be found in
Xiang et al. (2013). The score value cost_value
is not comparable with
the score value of the other ELEFAN functions (ELEFAN
or
ELEFAN_GA
).
A list with the input parameters and following list objects:
rcounts: restructured frequencies,
peaks_mat: matrix with positive peaks with distinct values,
ASP: available sum of peaks, sum of posititve peaks which could be potential be hit by growth curves,
ncohort: maximum age of species,
agemax: maximum age of species,
par: a list with the parameters of the von Bertalanffy growth function:
Linf: length infinity in cm,
K: curving coefficient;
t_anchor: time point anchoring growth curves in yearlength coordinate system, corrsponds to peak spawning month,
C: amplitude of growth oscillation
(if seasonalised
= TRUE),
ts: summer point of oscillation (ts = WP  0.5)
(if seasonalised
= TRUE),
phiL: growth performance index defined as phiL = log10(K) + 2 * log10(Linf);
Rn_max: highest score value (absolute value of cost function, comparable with ELEFAN and ELEFAN_GA).
Brey, T., Soriano, M., and Pauly, D. 1988. Electronic length frequency analysis: a revised and expanded user's guide to ELEFAN 0, 1 and 2.
Pauly, D. and N. David, 1981. ELEFAN I, a BASIC program for the objective extraction of growth parameters from lengthfrequency data. Meeresforschung, 28(4):205211
Xiang, Y., Gubian, S., Suomela, B., & Hoeng, J. (2013). Generalized simulated annealing for global optimization: the GenSA Package. R Journal, 5(1), 1328.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24  ## synthetic lfq data example
data(synLFQ4)
plot(synLFQ4, Fname="catch")
# ELEFAN_SA (takes approximately 2 minutes)
output < ELEFAN_SA(synLFQ4, SA_time = 60*2, seasonalised = TRUE, MA = 11,
init_par = list(Linf = 75, K = 0.5, t_anchor = 0.5, C = 0.5, ts = 0.5),
low_par = list(Linf = 70, K = 0.3, t_anchor = 0, C = 0, ts = 0),
up_par = list(Linf = 90, K = 0.7, t_anchor = 1, C = 1, ts = 1))
output$par
output$Rn_max
# view fit
plot(output)
# or
plot(output, draw = FALSE)
lfqFitCurves(output, col=1, par=output$par, draw=TRUE)$ESP
# compare to original parameters
tmp < lfqFitCurves(output, col=4, lty=1,
par=list(Linf=80, K=0.5, t_anchor=0.25, C=0.75, ts=0.5), draw=TRUE)
tmp$fESP
output$Rn_max

Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.