MATLAB Answers

Add multiple doses in ODEsolver

8 views (last 30 days)
I am trying to simulate multiple doses in a two compartment model. i have these odes for change in amount in each compartment.
d_amt_dt(1)= -(k12.*amt(1)) -(k10.*amt(1))+ (k21.*amt(2));
d_amt_dt(2) = (k12.*amt(1)) -(k21.*amt(2));
d_amt_dt = d_amt_dt';
For a single dose, I just change the initial condition amt1_0 = amount of dose given and get the expected output. However, how do I simulate multiple doses, e.g. every hour?
I can do this in Simbiology but I was wondering if there is a way to write code for that?

  0 Comments

Sign in to comment.

Accepted Answer

Arthur Goldsipe
Arthur Goldsipe on 24 Sep 2019
Because doses introduce discontinuities in the solution, you basically need to stop the ODE simulation every time a dose is applied, update the appropriate states for the dose, and call the ODE solver with the updated initial conditions. This is what SimBiology does behind the scenes for you.

  0 Comments

Sign in to comment.

More Answers (1)

darova
darova on 23 Sep 2019
There is way - ode45
To run your code every 1 hour look HERE

  0 Comments

Sign in to comment.

Sign in to answer this question.

Tags