%%  File:  odeGuide.tex
%%
%%  Study Guide for Numerical Methods with MATLAB
%%  Numerical Solution of ODEs Chapter
%%
%%  Gerald Recktenwald,  gerry@me.pdx.edu
%%  November 2001


\documentclass{article}

\usepackage{studyGuide}
\renewcommand{\guideName}{Study Guide for Numerical Solution of ODEs}

\title{Study Guide for Numerical Solution of ODEs}
\author{Gerald Recktenwald}

\newcounter{enumSave}

\begin{document}

%\maketitle

% -------------------------
\section*{Bare Essentials}
After reading Chapter~12 you should be able to
\begin{enumerate}
    \item   Write any first order differential equation in the form $\dfrac{dy}{dt}=f(y,t)$.
    \item   Verify that a proposed solution to an initial value problem is indeed a solution.
    \item   Perform manual calculations with Euler's method for any first order ODE.
    \item   Predict the effect of reducing stepsize on the global discretization error (GDE) of
            Euler's method.  Specifically, evaluate the ratio $GDE(h_2)/GDE(h_1)$.
\setcounter{enumSave}{\value{enumi}}
\end{enumerate}

\bigskip
\noindent To solve basic ODEs with \MATLAB\ you will need to
\begin{enumerate}
\setcounter{enumi}{\value{enumSave}}
    \item   Write an m-file to evaluate the right hand side of a first order ODE.
            This m-file must accept two inputs $t$ and $y$, and return $dy/dt$.
    \item   Call the \texttt{odeEuler} function (from the NMM toolbox) for the
            system described by the m-file in the preceding bullet.
    \item   Plot a comparison of the exact solution to an ODE (when it is given)
            and the solution to the same ODE obtained by a numerical method.
\end{enumerate}


% -------------------------
\section*{An Expanded Core of Knowledge}
After mastering the bare essentials you should move on to a deeper understanding
of the fundamentals.  Doing so involves being able to
\begin{enumerate}
    \item   Rank the numerical methods presented in Chapter~12 in order of increasing
            order.
    \item   Convert a higher order ODE to an equivalent system of coupled first order ODEs.
\setcounter{enumSave}{\value{enumi}}
\end{enumerate}
%
\bigskip
\noindent To solve more advanced ODEs with \MATLAB\ you will need to
\begin{enumerate}
\setcounter{enumi}{\value{enumSave}}
    \item   Use any of the built-in ODE routines or NMM Toolbox routines to solve a first order ODE.
    \item   Use any of the built-in ODE routines to solve a system of first order ODEs.
    \item   Write an m-file to evaluate the right hand sides of a system of coupled first order ODEs.
            This m-file must accept two inputs, a scalar $t$ and vector of $y$ values (dependent
            variables).  The m-file must return a vector of $dy/dt$ values.
    \item   Write m-files that use pass-through parameters $a$, $b$, \ldots,
            to evaluates $dy/dt=f(t,a,b,\ldots)$ for use with the \texttt{ode45} command.
\end{enumerate}
%
% -------------------------
\section*{Developing Mastery}
Working toward mastery of solving ODEs you will need to
\begin{enumerate}
    \item   Identify the circumstances when an absolute convergence tolerance is
            more appropriate than an relative convergence tolerance.
    \item   Specify an appropriate convergence tolerance for any ODE.
    \item   Identify the convergence rate of an unknown method for solving an ODE.
    \item   Reduce the convergence parameters to \texttt{ode45} so that the numerical
            solution is independent of the convergence parameters.
\end{enumerate}
%

\end{document}
