Kristian,

your example is rather complex and somewhat time consuming even on fast computers, so it is not easy to track your problem down to its original reason.

However, what is clear to me is that this is definitely *not* not a problem of deSolve and most likely even not of optim, it is just a problem of your model specification. Your error messages point to a numerical problem:

DLSODA-  Warning..Internal T (=R1) and H (=R2) are
      such that in the machine, T + H = T on the next step
     (H = step size). Solver will continue anyway.

In above,  R1 =  0.2630651367072D+01   R2 =  0.2055665829864D-15

This is an internal message of the original lsoda Fortran code telling us that it cannot add H=0.2e-15 to to T=0.2e+01. Note that the relative numerical resolution of double precision arithmetic of the computer is about 1e-16.

To understand what I mean just try other ode methods, e.g.:


outmat <- ode(y = state, times = times,
  func = Kristian, parms = parameters, method="adams")

## or:

outmat <- ode(y = state, times = times,
  func = Kristian, parms = parameters, method="ode45")


Thomas P.

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to