-
1 EGA100 – Numerical Methods for Biomedical Engineers Assignment 3: Biomedical systems and control Use MATLAB to answer the questions below, put your answers and any figures generated in a Word document and save under the heading EGA100_Assignment2. Place all code used to generate your answers in the appendix of this document and please ensure to upload this and ALL .m files created for each of the questions. Please note that you MUST upload fully working .m files for each of the questions. If these are NOT provided along with your word document you will lose half of the available marks. Question 1 Glucose is the molecule that cells use to make ATP, the primary energy provider in the cell. Carbohydrates consumed are converted to glucose and released into the blood stream. For the purposes of this assignment, assume all carbohydrates consumed are converted into glucose and released into the blood stream. Maintaining the blood glucose level within a fairly narrow range (see table below) is critical in the human body. If the amount of blood glucose is too high (hyperglycemia) or too low (hypoglycemia), serious physical problems can occur. In people with diabetes, the body cannot properly control the blood glucose level. Diabetics must adjust their lifestyle (weight, diet, exercise, etc.) and/or take medicine to control their blood glucose levels. Condition Blood Glucose Concentration Normal 80 – 110 mg/dl Hypoglycemia < 40="" mg/dl="" hyperglycemia=""> 210 mg/dl You should implement a simple model to explore the relationship between glucose and insulin in the human body. This simple model has been developed to simulate different glucose release profiles into the bloodstream and the insulin secreting response of the pancreas. The model is based on the physiology of glucose metabolism and insulin secretion. Model: The model is very simple and only takes into account Glucose (mg), Insulin (mg) in the blood stream, the Glucose and Insulin supplied to the blood stream, the Glucose used by cells, and the Insulin that breaks down. ? ??????? ?? = ???????_???????? – ???????_???? ? ??????? ?? = ???????_???????? – ???????_????????? where Glucose_Used = Glucose * Usage_Fraction and Insulin_Breakdown = Insulin/18. EGA100 – Numerical Methods for Biomedical Engineers 2 If you examine the equations, they simply say that the change in blood Glucose and Insulin levels are just equal to the difference between the amount added and the amount used. To program this, you will step through time in steps of dt. Then the glucose equations become: Glucose(t+dt) = Glucose(t) + [Glucose_Released(t) – Glucose_Used(t)]*dt Glucose_Used(t) = Glucose(t) * Usage_Fraction(t) where Glucose is a level in mg, Glucose_Released and Glucose_Used are rates in mg/min, Usage_Fraction is a fraction of glucose used (per min) and has a value of less than 1, and dt is the time step in min. Similarly, the Insulin equations become: Insulin(t+dt) = Insulin(t) + [Insulin_Secreted(t) – Insulin _Breakdown(t)]*dt Insulin_Breakdown(t) = Insulin(t)/18 where Insulin is a level in mg, Insulin_Secreted and Insulin_Used are rates in mg/min, and dt is the time step in min. Recall that, when programming a simulation to step through time, t can be replaced by a counter, say n, and t+dt can be replaced by n+1 in these equations. General Information/Output Format: For both parts, assume a blood volume of 6 liters. The output figures produced by the programs should be a single figure containing an upper graph showing the Glucose Release into Blood (mg/min) vs Time (min), and a lower graph showing the Blood Glucose Level (mg/dl) vs Time (min). Here is an example: Part 1: Homeostasis. Here, the supply and usage of both Glucose and Insulin are equal. Therefore, you should see no change in the Glucose or Insulin levels during the experiment. Implement the above model on the computer in a script, homeostasis.m (you may also include functions), to step through time given the following conditions: Simulation Parameters Start time = 0 min End time = 120 min 3 EGA100 – Numerical Methods for Biomedical Engineers Time Step = 1 min Initial Glucose Value = 5940 mg Glucose Release Rate = 185.625 mg/min Usage_Fraction = 0.03125 Initial Insulin Value = 9000 mg Insulin Secretion Rate = 500 mg/min Output: Your code should output a figure that looks exactly like the example above. [15 marks] Part 2: Feedback with Constant Glucose Release. Of course, the human body is hardly ever homeostatic. In such cases, the body has feedback mechanisms to control glucose levels using insulin secretion from the pancreas. In this part, you will build in these feedback mechanisms through the Usage_Fraction and Insulin_Secretion. Both of these were constant in Part 1, however, in Part 2, you will modify your code homeostasis.m to create a new code homeostasis_mod.m to implement these feedback mechanisms. A model of this system was created. In this model, the glucose Usage_Fraction (mg/min) is dependent on the Insulin level (mg) as per the following third order polynomial: Usage_Fraction(t) = a3* Insulin(t)^3 + a2* Insulin(t)^2 + a1* Insulin(t) + a0 Where: a3 = -1.722E-14, a2 = 4.666E-10, a1 = 1.435E-8, a0 = 8.262E-3 Similarly, the Insulin_Secretion (mg/min) is dependent on the Glucose level (mg) as per the following third order polynomial: Insulin_Secretion(t) = b3* Glucose(t)^3 + b2* Glucose (t)^2 + b1 Glucose (t) + b0 Where: b3 = -2.626E-9, b2 = 4.682E-5, b1 = -0.1140, b0 = 72.5 Simulation Parameters Start time = 0 min End time = 180 min Time Step = .5 min Initial Glucose Value = 6000 mg Initial Insulin Value = 9000 mg Usage_Fraction: use equation above Insulin Secretion Rate: use equation above EGA100 – Numerical Methods for Biomedical Engineers 4 Glucose Release Rate: using the menu command, provide the following options for glucose release rate • Normal Meal:110 mg/min • Pasta Meal: 330 mg/min Output: 1. For each case [110 mg/min, 330 mg/min], your code should output a figure that looks like the example above. Your code should allow the user to choose which constant glucose release rate and output only that figure (i.e. I have to run the code once for 110 and once for 330). 2. Your code should also output to the command window a message as to whether the glucose level went out of the normal range during the test (i.e. “The blood glucose level stayed within the normal range”, “The blood glucose level went below the normal range”, “The blood glucose level went above the normal range”) [10 marks] 5 EGA100 – Numerical Methods for Biomedical Engineers EGA100 – Numerical Methods for Biomedical Engineers 6 EGA100 – Numerical Methods for Biomedical Engineers 7