Building a MATLAB Graphical User Interface to Solve Ordinary Differential Equations as a Final Project for an Interdisciplinary Elective Course on Numerical Computing
Steve M. Ruggiero, Jianan Zhao, and Ashlee N. Ford VersyptVolume 9, Issue 1 (May 2018), pp. 19–28
https://doi.org/10.22369/issn.2153-4136/9/1/3BibTeX
@article{jocse-9-1-3, author={Steve M. Ruggiero and Jianan Zhao and Ashlee N. Ford Versypt}, title={Building a MATLAB Graphical User Interface to Solve Ordinary Differential Equations as a Final Project for an Interdisciplinary Elective Course on Numerical Computing}, journal={The Journal of Computational Science Education}, year=2018, month=may, volume=9, issue=1, pages={19--28}, doi={https://doi.org/10.22369/issn.2153-4136/9/1/3} }
A final project assignment is described for an interdisciplinary applied numerical computing upper division and graduate elective in which students develop a GUI for defining and solving a system of ordinary differential equations (initial value problems) and the associated explicit algebraic equations such as values for parameters. The primary task is to develop a GUI for MATLAB using GUIDE that takes a user-specified number of differential equations and explicit algebraic equations as input, solves the system of ODEs using \mcode{ode45}, returns the solution vector, and plots the solution vector components vs. the independent variable. The code for the GUI must be verified by showing that it returns the same results and the same figures as a system of ODEs with a known solution. The purpose of the final project assignment is threefold: (1) to practice GUI design and construction in MATLAB, (2) to verify code implementation, and (3) to review content covered throughout the course. The manuscript first introduces the course and the context and motivation for the project. Then the project assignment is detailed. Two student project submissions are described. The verification case study is also provided.