aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjranke <jranke@edb9625f-4e0d-4859-8d74-9fd3b1da38cb>2013-11-04 09:16:12 +0000
committerjranke <jranke@edb9625f-4e0d-4859-8d74-9fd3b1da38cb>2013-11-04 09:16:12 +0000
commit108955dfe9f328605844b5bfa6ed10190cb739e3 (patch)
tree743eda54b4fb4df500f4aea284ec1a3fe4cb22c8
parent550913517889140dd0bb0cb686d871f3969920f5 (diff)
Complete the fix for fixing initial values for state variables
git-svn-id: svn+ssh://svn.r-forge.r-project.org/svnroot/kinfit/pkg/mkin@133 edb9625f-4e0d-4859-8d74-9fd3b1da38cb
-rw-r--r--R/mkinpredict.R5
-rw-r--r--R/plot.mkinfit.R5
2 files changed, 9 insertions, 1 deletions
diff --git a/R/mkinpredict.R b/R/mkinpredict.R
index 5170dc6..7ce26ca 100644
--- a/R/mkinpredict.R
+++ b/R/mkinpredict.R
@@ -23,6 +23,11 @@ mkinpredict <- function(mkinmod, odeparms, odeini, outtimes, solution_type = "de
# Get the names of the state variables in the model
mod_vars <- names(mkinmod$diffs)
+ # Order the inital values for state variables if they are named
+ if (!is.null(names(odeini))) {
+ odeini <- odeini[mod_vars]
+ }
+
# Create function for evaluation of expressions with ode parameters and initial values
evalparse <- function(string)
{
diff --git a/R/plot.mkinfit.R b/R/plot.mkinfit.R
index a07ddea..d4ad6c4 100644
--- a/R/plot.mkinfit.R
+++ b/R/plot.mkinfit.R
@@ -38,7 +38,10 @@ plot.mkinfit <- function(x, fit = x,
rownames(subset(fit$start, type == "state")),
rownames(subset(fit$fixed, type == "state")))
odeini <- parms.all[ininames]
- names(odeini) <- names(fit$mkinmod$diffs)
+
+ # Order initial state variables
+ names(odeini) <- sub("_0", "", names(odeini))
+ odeini <- odeini[names(fit$mkinmod$diffs)]
outtimes <- seq(xlim[1], xlim[2], length.out=100)

Contact - Imprint