%%  File:  curveFittingGuide.tex
%%
%%  Study Guide for Numerical Methods with MATLAB
%%  Chapter 9, "Least Squares Fitting of a Curve to Data"
%%
%%  Gerald Recktenwald,  gerry@me.pdx.edu
%%  December 2001


\documentclass{article}

\usepackage{studyGuide}
\renewcommand{\guideName}{Study Guide for Least Squares Curve Fitting}


\title{Study Guide for\\
       Least Squares Fitting of a Curve to Data}
\author{Gerald Recktenwald}

\newcounter{enumSave}

\begin{document}

%\maketitle

% -------------------------
\section*{Bare Essentials}
At the end of this chapter you should be able to
\begin{enumerate}
    \item   Identify the criteria for obtaining a least squares fit.  (What is minimized?)
    \item   Manually evaluate the formulas for the slope and intercept of a
            line fit to data.
    \item   Derive the transformations for fitting data to $y=c_1e^{c_2x}$ and $y=c_1x^{c_2}$.
    \item   Manually compute the $R^2$ statistic for a line fit.
\setcounter{enumSave}{\value{enumi}}
\end{enumerate}


\bigskip
\noindent To perform basic solutions of linear systems with \MATLAB\ you will need to
\begin{enumerate}
\setcounter{enumi}{\value{enumSave}}
    \item   Use the \texttt{linefit} function in the NMM Toolbox to obtain a least
            squares line fit to data.
    \item   Use the \texttt{linefit} function in the NMM Toolbox to obtain least
            squares line fits to linearized transformations of $y=c_1e^{c_2x}$ and $y=c_1x^{c_2}$.
    \item   Use the built-in \texttt{polyfit} function to obtain a least squares
            fit to a polynomial in $x$.  Use the built-in \texttt{polyval} function to evaluate
            the polynomial obtained from \texttt{polyfit} at any $x$.
    \item   Plot a comparison of a least squares fit and the data used to obtain the fit.
\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   Form the overdetermined system of equations equations for an linear combination of
            arbitrary basis functions.
\setcounter{enumSave}{\value{enumi}}
\end{enumerate}

\bigskip
\noindent To perform more advanced solutions of linear systems with \MATLAB\ you will need to
\begin{enumerate}
\setcounter{enumi}{\value{enumSave}}
    \item   Use the \texttt{fitnorm} and \texttt{fitQR} functions from the NMM Toolbox to
            obtain least squares fits to linear combinations of arbitrary basis functions.
    \item   Assign the elements of the matrix \texttt{A} of the overdetermined system
            for a given choice of basis functions.  Given this matrix and a vector
            of $y$ data, obtain the coefficients of the fit by solving the normal equations.
    \item   Repeat the steps in the previous bullet, but obtain the least squares fit
            directly with the backslash operator.
    \item   Given the matrix of the overdetermined system for the fit, and a vector of $y$
            data values, use the \verb|\| operator to obtain the coefficients that minimizes
            \pnorm{r}{2} for the overdetermined system.
\end{enumerate}

% \clearpage

% -------------------------
\section*{Developing Mastery}
Working toward mastery of solving systems of equations you will need to
\begin{enumerate}
    \item   Identify the primary properties of the QR factorization that enable
            the least squares solution to be obtained with the $Q$ and $R$ matrices.
\end{enumerate}


\end{document}
