Skip to content

Differential equations

3 messages · Fanny Gallais, Peter Dalgaard, Thomas Petzoldt

#
Hi,

I'm working on a system of 2 differential equations. My initial condition
(t=0) is c(100,0) and i'm using lsoda function (from package deSolve) to
solve it.
My system reprensents the evoution of drug concentration in two
compartments throug time. Problem is I would like to model a repeated drug
administration. That is to say, not only 100 at t=0 but also at t=20,40,...
I can't find a solution to do so. I tried adding "100" to the first
differential equation at the times of interest but it doesn't work. Do you
have any idea?

Thank you
F.G.
#
It's been a while, but I think I have gotten through this sort of situation by splitting the integration into intervals, i.e., you run from t=0 to t=20 witn initial condition c(100,0), yielding a value c(y1,y2), then you run from 20 to 40 with initial condition c(y1+100, y2), etc.

-pd
On 08 Feb 2017, at 11:10 , Fanny Gallais <gallais.fanny at gmail.com> wrote:

            

  
    
17 days later
#
Hi,

yes, the suggestion of Peter Dalgaard is correct, and it can also be 
done using the "event" mechanism of deSolve, see:

library("deSolve")
?events

... or the slides from our talk given at useR-2011

http://desolve.r-forge.r-project.org/slides/petz_soet2011.pdf

... or the tutorial from L.A.

http://desolve.r-forge.r-project.org/user2014/tutorial.pdf

Thomas Petzoldt

See also:

http://desolve.r-forge.r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-dynamic-models


Am 08.02.2017 um 16:19 schrieb peter dalgaard: