Return to search

MATLODE: A MATLAB ODE Solver and Sensitivity Analysis Toolbox

Sensitivity analysis quantifies the effect that of perturbations of the model inputs have on the model's outputs. Some of the key insights gained using sensitivity analysis are to understand the robustness of the model with respect to perturbations, and to select the most important parameters for the model. MATLODE is a tool for sensitivity analysis of models described by ordinary differential equations (ODEs). MATLODE implements two distinct approaches for sensitivity analysis: direct (via the tangent linear model) and adjoint. Within each approach, four families of numerical methods are implemented, namely explicit Runge-Kutta, implicit Runge-Kutta, Rosenbrock, and single diagonally implicit Runge-Kutta. Each approach and family has its own strengths and weaknesses when applied to real world problems. MATLODE has a multitude of options that allows users to find the best approach for a wide range of initial value problems. In spite of the great importance of sensitivity analysis for models governed by differential equations, until this work there was no MATLAB ordinary differential equation sensitivity analysis toolbox publicly available. The two most popular sensitivity analysis packages, CVODES [8] and FATODE [10], are geared toward the high performance modeling space; however, no native MATLAB toolbox was available. MATLODE fills this need and offers sensitivity analysis capabilities in MATLAB, one of the most popular programming languages within scientific communities such as chemistry, biology, ecology, and oceanogra- phy. We expect that MATLODE will prove to be a useful tool for these communities to help facilitate their research and fill the gap between theory and practice. / Master of Science / Sensitivity analysis is the study of how small changes in a model?s input effect the model’s output. Sensitivity analysis provides tools to quantify the impact that small, discrete changes in input values have on the output. The objective of this research is to develop a MATLAB sensitivity analysis toolbox called MATLODE. This research is critical to a wide range of communities who need to optimize system behavior or predict outcomes based on a variety of initial conditions. For example, an analyst could build a model that reflects the performance of an automobile engine, where each part in the engine has a set of initial characteristics. The analyst can use sensitivity analysis to determine which part effects the engine’s overall performance the most (or the least), without physically building the engine and running a series of empirical tests. By employing sensitivity analysis, the analyst saves time and money, and since multiple tests can usually be run through the model in the time needed to run just one empirical test, the analyst is likely to gain deeper insight and design a better product. Prior to MATLODE, employing sensitivity analysis without significant knowledge of computational science was too cumbersome and essentially impractical for many of the communities who could benefit from its use. MATLODE bridges the gap between computational science and a variety of communities faced with understanding how small changes in a system’s input values effect the systems output; and by bridging that gap, MATLODE enables more large scale research initiatives than ever before.

Identiferoai:union.ndltd.org:VTETD/oai:vtechworks.lib.vt.edu:10919/83081
Date04 May 2018
CreatorsD'Augustine, Anthony Frank
ContributorsComputer Science, Sandu, Adrian, Zietsman, Lizette, Cao, Yang
PublisherVirginia Tech
Source SetsVirginia Tech Theses and Dissertation
Detected LanguageEnglish
TypeThesis
FormatETD, application/pdf
RightsIn Copyright, http://rightsstatements.org/vocab/InC/1.0/

Page generated in 0.0065 seconds