diff options
author | = <=> | 2013-12-04 10:25:14 +0100 |
---|---|---|
committer | = <=> | 2013-12-04 10:25:14 +0100 |
commit | 8b94131388071980e62c17190eb4229e89975a0c (patch) | |
tree | 48f90fae958d466076f9f3b0aa8ec733c9c7bbee /R | |
parent | f7be9d1c545b6385f53603d2861e0a16e3044165 (diff) |
Make it possible to use different ode solvers
Diffstat (limited to 'R')
-rw-r--r-- | R/mkinfit.R | 8 | ||||
-rw-r--r-- | R/mkinpredict.R | 10 |
2 files changed, 11 insertions, 7 deletions
diff --git a/R/mkinfit.R b/R/mkinfit.R index 3e47479f..749d7485 100644 --- a/R/mkinfit.R +++ b/R/mkinfit.R @@ -1,5 +1,3 @@ -# $Id$
-
# Copyright (C) 2010-2013 Johannes Ranke
# Contact: jranke@uni-bremen.de
# The summary function is an adapted and extended version of summary.modFit
@@ -28,6 +26,7 @@ mkinfit <- function(mkinmod, observed, fixed_parms = NULL,
fixed_initials = names(mkinmod$diffs)[-1],
solution_type = "auto",
+ method.ode = "lsoda",
method.modFit = "Marq",
control.modFit = list(),
plot = FALSE, quiet = FALSE,
@@ -161,6 +160,7 @@ mkinfit <- function(mkinmod, observed, # Solve the system with current transformed parameter values
out <- mkinpredict(mkinmod, parms, odeini, outtimes,
solution_type = solution_type,
+ method.ode = method.ode,
atol = atol, rtol = rtol, ...)
assign("out_predicted", out, inherits=TRUE)
@@ -177,7 +177,9 @@ mkinfit <- function(mkinmod, observed, outtimes_plot = seq(min(observed$time), max(observed$time), length.out=100)
out_plot <- mkinpredict(mkinmod, parms, odeini, outtimes_plot,
- solution_type = solution_type, atol = atol, rtol = rtol, ...)
+ solution_type = solution_type,
+ method.ode = method.ode,
+ atol = atol, rtol = rtol, ...)
plot(0, type="n",
xlim = range(observed$time), ylim = range(observed$value, na.rm=TRUE),
diff --git a/R/mkinpredict.R b/R/mkinpredict.R index 7ce26caf..07c1a819 100644 --- a/R/mkinpredict.R +++ b/R/mkinpredict.R @@ -1,6 +1,4 @@ -# $Id$ - -# Copyright (C) 2010-2012 Johannes Ranke +# Copyright (C) 2010-2013 Johannes Ranke # Contact: jranke@uni-bremen.de # This file is part of the R package mkin @@ -18,7 +16,10 @@ # You should have received a copy of the GNU General Public License along with # this program. If not, see <http://www.gnu.org/licenses/> -mkinpredict <- function(mkinmod, odeparms, odeini, outtimes, solution_type = "deSolve", map_output = TRUE, atol = 1e-8, rtol = 1e-10, ...) { +mkinpredict <- function(mkinmod, odeparms, odeini, + outtimes, solution_type = "deSolve", + method.ode = "lsoda", atol = 1e-8, rtol = 1e-10, + map_output = TRUE, ...) { # Get the names of the state variables in the model mod_vars <- names(mkinmod$diffs) @@ -96,6 +97,7 @@ mkinpredict <- function(mkinmod, odeparms, odeini, outtimes, solution_type = "de times = outtimes, func = mkindiff, parms = odeparms, + method = method.ode, atol = atol, rtol = rtol, ... |