Steady State in insulindemo
2 views (last 30 days)
I'm currently working with simbiology toolbox to simulate a glucose - insulin response using this template : https://fr.mathworks.com/help/simbio/ug/simulate-a-model-of-glucose-insulin-reponse-with-different-initial-conditions.html.
I would like to start my simulation from the steady state.
From the documentation the model used is from Meal Simulation Model of the Glucose-Insulin System. C. Dalla Man, R.A. Rizza, and C. Cobelli. IEEE Transactions on Biomedical Engineering (2007). So the steady state can be calculated with the model parameters by setting the derivatives of the equations to 0. I tried to compute steady states variables this way but actually my simulation isn't starting from a true steady state and varies in time until it stabilises on a steady state. I would like to know how the computation to find these steady states values is implemented in Simbiology, especially for [Basal Plasma Glu Conc].
Arthur Goldsipe on 28 Apr 2021
Apologies for the long response, but answering your question acurately requires discussing a lot of details, at least as I understand your question.
To begin, I want to share an important note about this demo. We recently found a bug in this model as it currently ships. As I describe here, you should update the event functions for a and c, replacing [Stomach Glu After Dosing] with Dose+[Glucose appearance].[Stomach Glu] (which is the new value for Stomach Glu After Dosing) to ensure that all parameters get properly updated after a dose.
SimBiology provides a function sbiosteadystate that you can use to calculate steady state values. This function is described here. It supports two basic approches. One is a algebraic approach that solves for the conditions at which derivatives are zero. The other approach simulates the model for progressively longer times until the derivates are approximately zero. However, this function has some limitations on the kinds of models that it can analyze. For example, you cannot use this function with the insulin model as it currently ships because it has active events. This is because the analysis tool cannot guarantee the effect these events might have on reaching steady state.
This limitation actually leads to some interesting questions. We need to carefully define what we mean by "steady state" and make sure the model is configured in a way that supports answering that question. The model was written with the intent to simulate a 24 hour period starting at midnight, with a meal at 12 hours and another at 20 hours. These meal times affect parameters of the model via events. If you simulate this model for a long time (more than 24 hours), the parameter values will reflect the parameter values after an evening meal.
From your question, it sounds like your goal is for the deriviates at time=0 to be zero and to remain 0 until a meal. I tried doing that by inactivating the events and simulating the model for a long time. I also did this using the model with sbiosteadystate and setting the Method name-value pair to 'simulation'. This actually results in a negative concentration value for [Interstitial Ins]. I looked into why that happened, and the problem is that the value [Basal Plasma Ins Conc] is greater than the actual steady-state value for [Plasma Ins Conc]. Specifically, the basal value is recorded as 25.49 while the actual limitating value is approximately 25.4287. So figuring out the "right" answer is itself a research question into what is the "right" way to model this sytem. And unfortunately, I don't have the domain expertise to answer that.