General class information
Syllabus html pdf
Sample homework report
Tentative calendar
Tentative list of topics
Getting Matlab
Please visit W&M IT software support page and download Matlab from appropriate "Math & Statistics Software" section. They have several available versions. Either one is fine. Since we are learning Matlab, we will not have time to go to fancy toolboxes which Matlab provides/removes with new releases.
Grader
Travis Horrom tshorrom@email.wm.edu
Week 01
Homework 01
See assignment in the following file hw01.pdf
Lecture 01 - Computers and programming language introduction
- Class goals and structure
- Computers introduction
- Programming languages overview
- Discretization - the main weakness of computers
- Binary representation
presentation
and
handouts
Lecture 02 - Matlab as a fancy calculator
- Matlab as a fancy calculator
- Efficient editing
- Help related commands
- Operator precedence
presentation
and
handouts
Week 02
Homework 02
See assignment in the following file hw02.pdf
do not forget to CC the grader
Lecture 03 - Matrices and plotting.
- Matrices
- Colon (:) operator
- Plotting
- Special array arithmetic operators
presentation
and
handouts
Lecture 04 - Boolean algebra, conditional statements, loops.
- Boolean algebra
- Comparison operators
- Conditional statements
- Loops
- Series
presentation
and
handouts
Lecture 05 - Functions and scripts
- Functions
- Scripts
- Saving and loading variables
presentation
and
handouts
Complimentary code
Week 03
Homework 03
See assignment in the following file hw03.pdf
do not forget to CC the grader
Lecture 06 - Root finding
- Root finding problem
- Bisection method
- False position method
- Solution convergence
presentation
and
handouts
Complimentary code
Lecture 07 - Root finding continued
- Secant method
- Newton-Raphson method
- Numerical derivative of a function
- Ridders method
- Root finding algorithms gotchas
- Root finding algorithms summary
presentation
and
handouts
Week 04
Homework 04
See assignment in the following file hw04.pdf
Lecture 08 - Sorting
- Bubble sort method
- Quick sort method
presentation
and
handouts
See what senator (at that time) Obama has to say
about the bubble sort method.
Skip to the 33rd second.
Complimentary code
Lecture 09 - Sorting continued
- Heap
- Heap sorting method
- Vector heap representation
presentation
and
handouts
Week 05
Homework 05
See assignment in the following file hw05.pdf
Lecture 10 - Numerical integration
- Integration problem statement
- The Rectangle method
- Trapezoidal method
- Simpson method
presentation
and
handouts
Lecture 11 - Numerical integration continued
- Monte Carlo Integration
- Numerical Integration methods error estimates
presentation
and
handouts
Complimentary code
Midterm project 01
See the project assignment
Due date: Monday October 4th of 2010 at 1pm.
Please, note that the wording and problem is modified compared to the Wednesday
announcement. You still work for NASA, though.
Week 06
Lecture 12 - Random number generators and random processes
- Statistic and probability intro
- Random number generators
presentation
and
handouts
Complimentary code
lcgrand.m and check_lcgrand.m
Lecture 13 - Monte Carlo simulations
- Coin flipping bets
- The Monty Hall Paradox
- Disease spread
presentation
and
handouts
Complimentary code
Week 07
Homework 06
See assignment in the following file hw06.pdf
Lecture 14 - Optimization problem
- Introduction to optimization
- Matlab built in 1D minimization - fminbnd
- 1D optimization - golden section search
presentation
and
handouts
Complimentary code
- Calculation of a wire temperature as function of the insulation thickness wire_t.m
Lecture 15 - Multi-D optimization problem
- Multi-D optimization
- Matlab built in Multi-D minimization - fminsearch
- Sample problems
presentation
and
handouts
Complimentary code
Midterm project 02
See the project assignment
Due date: Monday October 25th of 2010 at 1pm.
Week 08
Lecture 16 - Combinatorial optimization
- Introduction to the combinatorial problem
- Brute force optimization
presentation
and
handouts
Complimentary code
Lecture 17 - Simulated annealing/Metropolis optimization
- Backpack problem - brute force approach
- Simulated annealing/Metropolis algorithm
presentation
and
handouts
Complimentary code
Week 09
Homework 07
See assignment in the following file hw07.pdf
Due date: Monday November 1st of 2010 at 1pm.
Homework 07 data files
Lecture 18 - Data reduction and fitting
- Traveling salesman problem
- Data reduction
presentation
and
handouts
Complimentary code
Lecture 19 - Data analysis example
Complimentary code
Week 10
Homework 08
See assignment in the following file hw08.pdf
Due date: Monday November 8th of 2010 at 1pm.
Lecture 20 - Ordinary Differential equations
- ODE - ordinary differential equations
- Euler's method
presentation
and
handouts
Complimentary code
Lecture 21 - Ordinary Differential equations continued
- The second-order Runge-Kutta method (RK2)
- The forth-order Runge-Kutta method (RK4)
- Matlab functions for ODEs
presentation
and
handouts
Complimentary code
Midterm project 03
See the project assignment
Due date: Monday November 15th of 2010 at 1pm.
Week 11
Lecture 22 - System of linear algebraic equations
presentation
and
handouts
Complimentary code
Lecture 23 - Data interpolation
- Nearest neighbor interpolation
- Linear interpolation
- Polynomial fit
- Cubic spline interpolation
- Matlab built in interpolation
- Extrapolation
presentation
and
handouts
Complimentary code
Week 12
Homework 09
See assignment in the following file hw09.pdf
Lecture 24 - Fourier transform
- Fourier series
- Discrete Fourier transform (DFT)
- Matlab implementation
presentation
and
handouts
Complimentary code
Lecture 25 - Discrete Fourier Transform and filters
- Discrete Fourier transform
- Nyquist criteria
- DFT filters
presentation
and
handouts
Complimentary code
Week 13
Homework 10
See assignment in the following file hw10.pdf
Due date: Monday November 29th of 2010 at 1pm.
- This homework is optional.
Lecture 26 - High performance computing
- Limits to computing
- Parallel computing
- Matlab parallel tools
presentation
and
handouts
Complimentary code
Week 14
Lecture 27 - Digital filters
- Speed of FFT
- Low-pass filter
- High-pass filter
- Band-pass filter
- Band-stop filter
- Brick wall filters artifacts
- Windowing
presentation
and
handouts
Complimentary code
Lecture 28 - Fractals
- Dimension definition
- Fractals
- Affine transformations
presentation
and
handouts
Complimentary code
Final exam project
See the final exam project assignment
Due date: Monday December 6th of 2010 at 2pm.
Voice messages for problem 4. Each group must decode only the one assigned to them.