Personal tools


Document Actions
  • Content View
  • Bookmarks
  • CourseFeed

Lectures: none (directed reading course)

Textbook: Class Notes (see references below)


Online MATLAB tutorials and references:

  1. Tutorials offered by The Mathworks . The creators of Matlab.
  2. Introductory Matlab material from Indiana University
  3. A practical introduction to Matlab from Michigan Tec
  4. Links to Matlab tutorials, references, books, packages, etc. -- from the Math Department at UIC

MATLAB guides

    Provided with the Matlab installation

  1. Getting Started with Matlab
  2. Using Matlab
  3. Using Graphs in Matlab
  4. Using GUIs in Matlab

For links to these documents visit Dr. Randy Jost's web page (USU ECE Department). For other links related to Matlab, visit my Matlab page .

For MATLAB operation

  1. Hanselman, D. and B. Littlefield, 2005, "Mastering MATLAB 7," PEARSON/Prentice Hall, Upper Saddle River, NJ
  2. Nuruzzaman, M., 2003, "Tutorials on Mathematics to MATLAB," 1stBooks, USA (NOTE: good collection of tutorials for a variety of mathematical applications and graphics, very little programming included. Link to the 1stBooks web site and do a search on Author : Nuruzzaman to link to the book.).
  3. Hahn, B.D., 1997, "Essential MATLAB® for Scientists and Engineers," Arnold, London.
  4. Etter, D.M. and D.C. Kuncicky, 1999, "Introduction to MATLAB®", E-Source, Prentice Hall, Upper Saddle River, New Jersey
  5. Palm III, W.J., "Introduction to MATLAB® for Engineers," B.E.S.T Series, McGraw-Hill, Boston.

For Mathematics and Numerical Methods with MATLAB

  1. Moler, C., 2004 [?], Numerical Mathematics with Matlab ,SIAM's MATLAB book (Visit this website: and click on the link New Textbook by Cleve Moler under the Faculty Center heading in that page)
  2. Fausett, L. V., 1999, "Applied Numerical Analysis Using MATLAB," Prentice Hall, Upper Saddle River, New Jersey.
  3. Mathews, J.H. and K.D. Fink, "Numerical Methods Using MATLAB - Third Edition," Prentice Hall, Upper Saddle River, New Jersey
  4. Linfield, G. & Penny, J. 1995, Numerical methods using MATLAB, Ellis- Horwood.
  5. Van Loan, C.F., 2000, "Introduction to Scientific Computing - A Matrix-Vector Approach Using MATLAB," Prentice Hall, Upper Saddle River, New Jersey
  6. Nakamura, S., 2002, "Numerical Analysis and Graphic Visualization with MATLAB - Second Edition," Prentice Hall PTR, Upper Saddle River, New Jersey
  7. Middleton, G.W., ????, "Data Analysis in the Earth Sciences using MATLAB®," Prentice Hall, Upper Saddle River, New Jersey

For Elementary Numerical Methods

  1. Moin, P., 2001, Fundamentals of Engineering Numerical Analysis, Cambridge University Press, New York
  2. Hoffman, J.D., 2001, Numerical Methods for Engineers and Scientists - Second Edition, Marcel Dekker, Inc., New York
  3. Chapra, S. and R. Canale, 2001, Numerical Methods for Engineers: With Software and Programming Applications, McGraw-Hill, New York

For the material to be covered in this class

  1. Abbot, M.B. and A.W. Minns, 1994, Computational Hydraulics, Ashgate Pub. Co.
  2. Chapra, , 1997, Surface Water Quality Modeling, McGraw Hill
  3. Chaudhry, M. H. 1993. Open-Channel Flow. Prentice-Hall, Inc.
  4. Chaudhry, M.H., 1987, Applied Hydraulic Transients, Van Nostrand Reinhold
  5. Cunge, J.A., F. M. Holly, Jr., and A. Verwey, 1980, Practical Aspects of Computational River Hydraulics, Pitman Publishing Limited, London ( reasonably-priced, paperback copy available here )
  6. Julien, P.Y., 2002, River Mechanics, Cambridge University Press, New York
  7. Vreugdenhil, C.B., 1989, Computational Hydraulics - An Introduction, Springer-Verlag, Berlin
  8. Smith, G.D., 1985, Numerical Solution of Partial Differential Equations: Finite Difference Methods - Third Edition, Clarendon Press, Oxford

Required background

We will be using Matlab as the main programming/graphics environment, therefore, students must be familiar or learn the use of Matlab during this class. The course will focus on the solution of partial differential equations (PDEs) typical of hydraulics and transport problems in groundwater and open channel flows, however, students are required to have a background on elementary numerical methods, namely:

  1. Solution to equations with one variable (e.g., bisection, Newton-Raphson, secant methods).
  2. Solution to systems of non-linear equations on more than one variable (e.g., generalized Newton-Raphson and secant methods)
  3. Matrix algebra (e.g., transpose, inverse, addition, multiplication, etc.) -- You may want to download this free book on Matrix Algebra by Autar K Kaw, University of South Florida
  4. Linear algebra and solution of systems of linear equations (Gaussian and Gauss-Jordan elimination, pivoting, LU decomposition, quadratic forms)
  5. Numerical integration (trapezoidal rule, Simpson's rule, Gaussian quadrature)
  6. Data fitting (least-square for linear fitting, multiple-linear fitting, polynomial fitting) 7. Numerical solution to ordinary differential equations - ODEs (Euler method, Runge-Kutta methods, stiff ODEs)

Class Notes on Matlab

The following links allow you to download documents related to Matlab operation, programming, functions, etc.

Getting started with Matlab

  1. Introduction to Matlab with the Help menu - a brief introduction to the Matlab interface and its use, then uses Matlab Help Desk to guide you in learning Matlab (optional reading)
  2. Introduction to Matlab - specific exercises introducing Matlab
  3. Programming, I/O, Strings - logical operations, programming structures, scripts and functions, input and output, and string manipulation - basic components for developing programs in Matlab
  4. Elementary Matlab Graphics - two- and three-dimensional plots with Matlab:
  5. Matlab for SCILAB users - although originally developed to show the differences between Matlab and Scilab, it is also useful to understand many Matlab concepts.
  6. Elementary mathematical functions with Matlab - description and graphics of elementary mathematical functions using Matlab
  7. Using logical vectors in Matlab - exercises on graphics and other manipulations of logical vectors
  8. Moler's book Ch. 1 - Introduction to Matlab (intro.pdf) - highly mathematical introduction (optional reading)
  9. Symbolic functions in Matlab -- download this script and run it in Matlab to see examples of symbolic functions

Computer programming with Matlab

  1. Introduction to computer programming - principles of computer programming: programming structures, flow charts, pseudo-code
  2. Programming with Matlab - specific examples of Matlab functions including all programming structures introduced earlier.
  3. Notes on Functions in Matlab - discusses issues related to m-file and inline user-defined functions in Matlab.
  4. Passing functions as arguments in Matlab - shows examples of functions used as arguments of other functions
  5. Gradually Varied Flow solution through the direct step - an example of Matlab programming with functions and sub-functions

Elementary numerical methods with Matlab

NOTE: See the Using Matlab guide corresponding to these subjects. Also, see the chapters in the SIAM book referred to below. For items 1 through 3, you may want to download this free book on Matrix Algebra by Autar K Kaw, University of Florida

  1. Matrix operations in Matlab (transpose, addition and subtraction, multiplication, term-by-term multiplication, creating matrices, manipulating matrix elements)
    • Read the chapter on Matrices and linear algebra from the Using Matlab guide
  2. Linear algebra operations in Matlab (solution to systems of linear equations, LU factorization, sparse matrices)
  3. Eigenvalues in Matlab (eigenvalues, eigenvectors, and singular value decomposition)
  4. Solution to single equations and multiple non-linear equations in Matlab (single equation solution: bisection, Newton-Raphson, secant; systems of non-linear equations: Newton-Raphson, "secant" methods:
    • Solution to non-linear equations - a pdf document with examples of single and multiple non-linear equations
    • Read the chapter on Functions: zeros, maxima and minima, integration from the Using Matlab guide
    • Read Moler's book Ch. 3 - Zeroes and Roots
    • Examples from hydraulics - click here to download zip file with documentation and scripts - Examples included:
      • pipe flow
      • Manning's equation
      • pipe-pump system
      • entrance from a reservoir into a channel.
  5. Numerical integration in Matlab (rectangular elements, trapezoidal rule, Simpson's rule, Gaussian quadrature, multiple integrals) --
    • Read the chapter on Functions: zeros, maxima and minima, integration from the Using Matlab guide
    • Read Moler's book Ch. 6 - Quadrature
  6. Data fitting in Matlab (interpolating polynomials, cubic splines, cubic Hermite polynomials)
    • Read the chapter on Polynomials and interpolation from the Using Matlab guide
    • Read the chapter on Statistics, difference equations, Fourier analysis from the Using Matlab guide (read only parts related to least-square fitting)
    • Read Moler's book Ch. 5 - Data Fitting (leastsquares.pdf)
  7. Solution to Ordinary Differential Equations in Matlab (Euler method, Runge-Kutta methods, etc)

Class Contents

  1. Numerical differentiation and finite differences (Approximation error, Taylor series expansion and finite differences, implicit and explicit methods for ODEs)
  2. Introduction to Partial Differential Equations (PDEs) (Definitions, First and second-order equations, classification, Examples of analytical solutions )
  3. First-order PDEs - Method of characteristics
  4. Advection equation (Characteristics method and finite difference approximations)
  5. Second-order diffusion equation (Finite difference approximations) - Read the following chapters in Vreugdenhil, C.B., 1989
    • Ch. 7 - Diffusion (Explicit vs. implicit methods, Thomas algorithm)
    • Ch. 8 - Numerical Accuracy for Diffusion Problems (Fourier series )
    • Ch. 9 - Diffusion Model for Coastline Development (optional reading)
    • Ch. 10 - Consolidation of Soil (optional reading)
  6. Convection-diffusion (Finite difference approximations) - Read the following chapters in Vreugdenhil, C.B., 1989
    • Ch. 11 - Convection - diffusion (Crank-Nicholson method)
    • Ch. 12 - Numerical Accuracy for Convection-Diffusion (Numerical diffusion)
    • Ch. 13 - Salt Intrusion in Estuaries (optional reading)
    • Ch. 14 - Boundary Layers (optional reading)
  7. Laplace and Poisson equations modeling
  8. De Saint-Venant equations for unsteady open channel flow (optional subject - depending on time availability)
    • Derivation of equations
    • Simple prismatic channels case
    • Programming of solution
    • Analysis of different cases
Copyright 2008, by the Contributing Authors. Cite/attribute Resource . admin. (2006, May 17). Syllabus. Retrieved January 07, 2011, from Free Online Course Materials — USU OpenCourseWare Web site: This work is licensed under a Creative Commons License Creative Commons License