Description Usage Arguments Details Value See Also Examples
Compute the sum of squares between a given data and an odeModel
object.
1 2 3 4  ssqOdeModel(p, simObj, obstime, yobs,
sd.yobs = as.numeric(lapply(yobs, sd)),
initialize = TRUE, lower. = Inf, upper. = Inf, weights = NULL,
debuglevel = 0, ..., pnames = NULL)

p 
vector of named parameter values of the model (can be a subset), 
simObj 
a valid object of class 
obstime 
vector with time steps for which observational data are available, 
yobs 
data frame with observational data for all or a subset of
state variables. Their names must correspond exacly with existing
names of state variables in the 
sd.yobs 
vector of given standard deviations for all
observational variables given in 
initialize 
optional boolean value whether the 
lower., upper. 
named vectors with lower and upper bounds used in the optimisation, 
weights 
optional weights to be used in the fitting process.
Should be 
debuglevel 
a positive number that specifies the amount of debugging information printed, 
... 
additional parameters passed to the solver method (e.g.

pnames 
names of the parameters, optionally passed from fitOdeModel. This argument is a workaround for R versions below 2.8.1. It may be removed in future versions of simecol. 
This is the default function called by function
fitOdeModel
. The source code of this function can be
used as a starting point to develop userdefined optimization
criteria (cost functions).
The sum of squared differences between yobs
and simulation,
by default weighted by the inverse of the standard deviations of the respective
variables.
fitOdeModel
, optim
,
p.constrain
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30  data(chemostat)
cs1 < chemostat
## generate some noisy data
parms(cs1)[c("vm", "km")] < c(2, 10)
times(cs1) < c(from = 0, to = 20, by = 2)
yobs < out(sim(cs1))
obstime < yobs$time
yobs$time < NULL
yobs$S < yobs$S + rnorm(yobs$S, sd = 0.1 * sd(yobs$S))*2
yobs$X < yobs$X + rnorm(yobs$X, sd = 0.1 * sd(yobs$X))
## SSQ between model and data
ssqOdeModel(NULL, cs1, obstime, yobs)
## SSQ between model and data, different parameter set
ssqOdeModel(p=c(vm=1, km=2), cs1, obstime, yobs)
## SSQ between model and data, downweight second observation
## (both variables)
weights < data.frame(X=rep(1, nrow(yobs)), S = rep(1, nrow=(yobs)))
ssqOdeModel(p=c(vm=1, km=2), cs1, obstime, yobs, weights=weights)
## downweight 3rd data set (row)
weights[3,] < 0.1
ssqOdeModel(p=c(vm=1, km=2), cs1, obstime, yobs, weights=weights)
## give one value double weight (e.g. 4th value of S)
weights$S[4] < 2
ssqOdeModel(p=c(vm=1, km=2), cs1, obstime, yobs, weights=weights)

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