Back to Prof. Calhoun's Homepage

Scientific Computing with Matlab (Math 365)

In this course, we will learn how to use Matlab for applying computational methods to solving problems from science and engineering. We learn basic numerical methods, including solving linear systems, interpolation, quadrature rules, and solving ordinary differential equations. We also learn about visualizing output using Matlab graphing tools, programming concepts, and how to develop numerically efficient codes.

Send me an e-mail

Please send me an e-mail at donnacalhoun@boisestate.edu so that I can compile an e-mail list for the class. At the very least, include a subject header that says "Math 365". You may leave the message area blank, if you wish, or send me a short note about what you hope to get out of this course.

Basic course information

 Instructor Prof. Donna Calhoun Time Monday/Wednesday 1:30-2:45 Place B210 (Old Business Building) Office Hours Tuesday 3PM-5PM Prerequesites Math 175

Lectures

Below are the slides from lecture material that I can make available online.

 Week #1 (Jan. 22) Wednesday --  Introduction to Scientific Computing Lecture slides : Introduction to the Scientific Computing  (pdf, html) Using Matlab as a Scientific Calculator  (pdf, html) In class lab : Arithmetic expressions and elementary functions Week #2 (Jan. 27) Monday --  Using Matlab as a graphing Calculator (cont) In class lab : Assigning variables and creating anonymous function handles Wednesday --  Introduction to arrays In class lab : Introduction to plotting Loops and one dimensional arrays Week #3 (Feb. 3) Monday --  Discussion of homework #1 problems Codes written or demonstrated in class : prob1.m prob2.m Wednesday --  Introduction to 2d arrays In class lab : Two dimensional arrays Week #4 (Feb. 10) Monday --  More discussion of 2d arrays Some useful or interesting links The now famous videos (Physics Buzz : 1+2+3+4+5+... = -1/12 !!!) The Wikipedia page (Wikipedia : 1+2+3+4+5) Terence Tao's Blog page (Tao Blog) Wednesday --  Introduction to matrices Lecture slides : Introduction to the Linear Systems  (pdf, html) Introduction to Matrix Notation  (pdf, html) In class lab : Matrices and matrix algebra Week #5 (Feb. 17) Monday --  President's Day Wednesday --  Solving linear systems using Gaussian Elimination Videos : Gaussian Elimination Using 'backslash' in Matlab Week #6 (Feb. 24) Monday --  Discussion homework problems 1 and 2 Codes written or demonstrated in class : temp_test.m Wednesday --  LU Decomposition Codes written or demonstrated in class : my_geo_test.m homework3_sample.m Week #7 (Mar. 3) Monday --  Discussion of homework problem 2 on Homework #3 Lecture slides : An Introduction to the Matrix Inverse  (pdf) Codes written or demonstrated in class : mystery.m Wednesday --  Solving least squares systems and introduction to polynomial interpolation Lecture slides : Solving Linear Least Squares problems  (pdf) Polynomial fit to the data  (pdf) Codes written or demonstrated in class : llsq.m poly_interp.m Week #8 (Mar. 10) Monday --  LU Decomposition, revisited Lecture slides : LU Decomposition  (pdf) Curve Fitting  (pdf) Codes written or demonstrated in class : LU_tst.m Wednesday -- Week #9 (Mar. 17) Monday --  Lecture slides : Lagrange Polynomials  (pdf) In class lab : Lagrange Polynomials Wednesday --  Codes written or demonstrated in class : test_lagrange.m Week #10 (Mar. 31 ) Monday --  Barycentric formula Lecture slides : Barycentric Formula  (pdf) Wednesday --  Introduction to Splines In class lab : Formatting using 'fprintf' Week #11 (Apr. 7) Monday --  The Runge Phenomena and how to fix it! Lecture slides : Piecewise Polynomials  (pdf) Codes written or demonstrated in class : pw_curves.m In class lab : The Runge Phenomenon Wednesday -- Week #12 (Apr. 14) Monday --  Cubic Splines Lecture slides : Curves and vectors in 3d  (pdf) Videos : Constructing piecewise constant polynomials in Matlab Constructing piecewise linear polynomials in Matlab Constructing piecewise cubic (PCHIP) polynomials in Matlab In class lab : Splines and the Geometry of Curves Wednesday --  Newton's Method Week #13 (Apr. 21) Monday --  Root finding : The Bisection Method Lecture slides : Root finding methods - Bisection  (pdf) Codes written or demonstrated in class : bisect.m Wednesday --  Root finding : Fixed point method; fzero In class lab : Numerical Root Finding Week #14 (Apr. 28) Monday --  Function minimization; Quadrature rules Codes written or demonstrated in class : min_tst.m catch_try.m int_test2.m Wednesday -- Week #15 (May 5) Monday --  Codes written or demonstrated in class : ode_sys.m Wednesday --  Solving ODEs

Homework assignments

Homework projects are designed to enforce mathematical concepts and to build and improve Matlab programming skills. Homeworks will be due every two weeks.

 Homework #1 Due Feb. 5 Assignment : hmwk1.pdf Other resources : rimfire_2.dat  -- Coordinates for the outline of the Rim Fire write_file.m  -- Write out solutions in the homework with this file homework1.m  -- A sample homework file to see how Publish works Comments : For these problems, you will write output files using the script "write_file" Homework #2 Due Feb. 26 Assignment : hmwk2.pdf Other resources : homework2.m  -- For problems 1 and 2 homework2_prob3.m  -- For Problem 3 write_file.m  -- Write out solutions in the homework with this file homework_tips.m  -- Tips for doing your homework Homework #3 Due Mar. 12 Assignment : hmwk3.pdf Other resources : monkey.dat poly1.dat poly2.dat poly3.dat homework_tips.m  -- Publish this! homework3.m  -- Sample homework code Homework #4 Due Apr. 2 Assignment : hmwk4.pdf Other resources : H2Odensity.dat bary_xdata.dat bary_ydata.dat dq1.dat dq2.dat Homework #5 Due Apr. 16 Assignment : hmwk5.pdf Other resources : roller_coaster.dat f.dat snow.dat julia.m Some useful or interesting links An article about the history of the inverse square function in computer graphics and video games (Origin of Quake3's Fast InvSqrt()) Comments : This is the final version! Homework #6 Due May 9th Assignment : hmwk6.pdf Other resources : plot_shapes.m Homework #7 Due May 7

Matlab tutorials

Below are a series of tutorials that should help you become familar with Matlab syntax

Final Project

In lieu of a final, you will have a final project due, on the day of our scheduled exam.

Other resources :
final_project.pdf  -- Final project description

You can find the Final Exam calendar here.