diff options
author | Johannes Ranke <jranke@uni-bremen.de> | 2018-07-04 08:50:43 +0200 |
---|---|---|
committer | Johannes Ranke <jranke@uni-bremen.de> | 2018-07-04 08:50:43 +0200 |
commit | 94b9a6980dce02c7c32c3bc3b61aad61a3ce3151 (patch) | |
tree | 6c1ddd37ea4f6e7e9c893a9e66bb005c66f5adff | |
parent | 0b27c116b44d09460f3151b87762193d67d3b09e (diff) |
Improve IORE fitting, use 1.1 as N starting value
-rw-r--r-- | DESCRIPTION | 4 | ||||
-rw-r--r-- | NEWS.md | 4 | ||||
-rw-r--r-- | R/mkinfit.R | 5 |
3 files changed, 10 insertions, 3 deletions
diff --git a/DESCRIPTION b/DESCRIPTION index 7158f2e0..10f2b948 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,8 +1,8 @@ Package: mkin Type: Package Title: Kinetic Evaluation of Chemical Degradation Data -Version: 0.9.47.1 -Date: 2018-01-30 +Version: 0.9.47.2 +Date: 2018-07-04 Authors@R: c(person("Johannes", "Ranke", role = c("aut", "cre", "cph"), email = "jranke@uni-bremen.de", comment = c(ORCID = "0000-0003-4371-6538")), @@ -1,3 +1,7 @@ +# mkin 0.9.47.2 + +- 'mkinfit': Use 1.1 as starting value for N parameter of IORE models to obtain convergence in more difficult cases. Show parameter names when 'trace_parms' is 'TRUE'. + # mkin 0.9.47.1 (2018-02-06) - Skip some test on CRAN and winbuilder to avoid timeouts diff --git a/R/mkinfit.R b/R/mkinfit.R index c471b01c..840faf53 100644 --- a/R/mkinfit.R +++ b/R/mkinfit.R @@ -145,7 +145,7 @@ mkinfit <- function(mkinmod, observed, if (grepl("free_bound$", parmname)) parms.ini[parmname] = 0.1
if (grepl("bound_free$", parmname)) parms.ini[parmname] = 0.02
# Default values for IORE exponents
- if (grepl("^N", parmname)) parms.ini[parmname] = 1
+ if (grepl("^N", parmname)) parms.ini[parmname] = 1.1
# Default values for the FOMC, DFOP and HS models
if (parmname == "alpha") parms.ini[parmname] = 1
if (parmname == "beta") parms.ini[parmname] = 10
@@ -389,6 +389,9 @@ mkinfit <- function(mkinmod, observed, upper[other_fraction_parms] <- 1
}
+ # Show parameter names if tracing is requested
+ if(trace_parms) cat(names(c(state.ini.optim, transparms.optim)), "\n")
+
# Do the fit and take the time
fit_time <- system.time({
fit <- modFit(cost, c(state.ini.optim, transparms.optim),
|