Skip to content

Students find numerical solutions to a first order ordinary differential equation (ODE) model of glucose-insulin system using Euler’s method and least squares in MATLAB.

Notifications You must be signed in to change notification settings

difuse-dartmouth/engineering-glucose-model-ode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction to Scientific Computing DIFUSE Module

Contributors: Jackeline Corona (‘22), Logan Sankey (‘20), Petra Bonfert-Taylor (Professor of Engineering, DIFUSE PI), Laura Ray(Professor of Engineering, DIFUSE PI), Taylor Hickey ('23, Project Manager)

Introduction to Scientific Computing DIFUSE Module Funded by NSF IUSE1917002

This module was developed through the DIFUSE project at Dartmouth College and funded by the National Science Foundation award IUSE-1917002.

Download the entire module Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

Module Objective

Student gain experience with using a numerical solver for a differential equations model coupled with parameter estimation based on a experimental data set.

Student Learning Objectives

  1. Establish a basic understanding of ODEs and MATLAB functionalities
  2. Use a differential equation model of a real-world system to practice analysis of graphical behaviors in relation to equations.
  3. Apply the Least-Squares Method to optimize one parameter in the model for a given set of data
  4. Calculate additional parameters and compare these to acceptable values

Module Description

Using MATLAB, in this module students address questions about a model of the relationship between glucose and insulin in humans. To do so, students explore the use of numerical solvers for ODE and systems of ODE, both by coding Euler’s method ‘by hand’ as well as by using built-in solvers. Students use published data to fit parameters of a model and make predictions with the numerical solutions. The final “long” coding assignment for ENGS 20 had traditionally been an investigation of the solutions to ordinary differential equations (ODEs) through the use of Euler’s method, analytical solutions, and ODE solvers in MATLAB. However, Professor Bonfert-Taylor recognized that this assignment often lacked the context of a real-world application when only the ODEs were provided for students to solve through various methods. She was interested in finding an ODE or a system of ODEs describing a real interaction that could be modeled by students along with data to provide inputs for and then validate the model.

She found resources from papers investigating the response of the human insulin system to glucose and proposed that the DIFUSE team develop a new long assignment in which students apply a simplified ODE model of this system. She also proposed a shorter coding assignment to be completed before the long assignment that introduces students to the concepts of ODEs and to coding Euler’s method.

Data

This module using glucose and insulin level data taken from a published experiment.

Platform

The module uses MATLAB live scripts.

Schedule and Links

Use this page to get an idea of the timeline of the module, what components are involved, and what documents are related to each component. This is the schedule intended for module deployment by the DIFUSE team, though instructors are welcome to modify the timeline to fit their course environment. Guide for Instructors

  1. Short Assignment
    • Three questions introduce the student to ODEs in MATLAB.
    • Students develop code to estimate a solution to an ODE with Euler’s method. Students then plot the solution for different coefficient values and plot the estimate against the analytical solution.
    • Assignment questions ask students to compare the effects of changing variables in the ODE and compare the estimated solution to the analytical solution.
  2. Long Assignment (Student facing rubric)
    • Students model the Glucose Insulin System in MATLAB with Euler’s Method and explore the model by optimizing one parameter for a given set of data using the least-squares method.
    • Students comment on an initial plot and calculate if the initial parameters are within normal limits.
    • Students write code to perform an Euler’s method estimate of the model ODEs and then use the least-squares method to optimize one parameter of the model for a provided set of data.
    • Students are asked to plot the data and the estimate and also evaluate if the patient’s parameters are within the normal ranges.

Implementation Calendar

Typically the short assignment is due three days after it's been assigned and the long assignment is due after a week.



Item Schedule
MATLAB publishing tutorial Earlier in term
Release Short Assignment (SA) At least three days before release of long assignment
Release Long Assignment (LA) Due date of SA, 1 week before due date of LA
Return feedback on SA One day after due date of SA
TA sessions following up on SA One day after release of SA feedback
Long Assignment due One week after LA release

Course Information

This module was developed for an Engineering course, Introduction to Scientific Computing, which introduces students to programming in C and MATLAB as well as the foundations of scientific computing. Students are not assumed to have any programming experience at the outset, but learn both platforms leading up to the module.

Download the entire module Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

For instructors and interested parties, the history of this repository (with detailed commits), can be found here.

About

Students find numerical solutions to a first order ordinary differential equation (ODE) model of glucose-insulin system using Euler’s method and least squares in MATLAB.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •