MATLAB Answers

0

Add multiple doses in ODEsolver

Asked by Minu Pilvankar on 23 Sep 2019
Latest activity Answered by Arthur Goldsipe on 24 Sep 2019
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.

Tags

2 Answers

Answer by Arthur Goldsipe on 24 Sep 2019
 Accepted Answer

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.


Answer by darova
on 23 Sep 2019

There is way - ode45
To run your code every 1 hour look HERE

  0 Comments

Sign in to comment.