General class information
Syllabus html pdf
Sample homework report
Tentative list of topics
Important dates
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
Gleb Romanov gromanov86@gmail.com
Grades
Grades are posted into the web grades book. Make sure that posted grades coincide with their paper one.
For the first time login use your WM official email as "login" and hit the reset password button. You will get a password shortly via email.
If you have any suggestions or comments, please, let me know.
Week 01
Homework 01
See assignment in the following file hw01.pdf (source latex file hw01.tex)
Lecture 01 - Computers and programming languages introduction
- Class goals and structure
- Computers introduction
- Programming languages overview
- Discretization - the main weakness of computers
- Binary representation
presentation and handouts
Week 02
Lecture 02 - Introduction to Matlab
- Matlab as a fancy calculator
- Efficient editing
- Help related commands
- Operator precedence
- Matrices
- Colon (:) operator
- Plotting
- Special array arithmetic operators
presentation and handouts
Lecture 03 - Boolean algebra, conditional statements, loops.
- Boolean algebra
- Comparison operators
- Conditional statements
- Loops
- Series
presentation and handouts
Complimentary code
Week 03
Homework 02
See assignment in the following file hw02.pdf (source latex file hw02.tex). Due date Friday 1pm.
Lecture 04 - Functions and scripts
- Scripts
- Functions
- Saving and loading variables
presentation and handouts
Complimentary code
In class practice
Complimentary code
Lecture 05 - Root finding
- Root finding problem
- Bisection method
- False position method
- Solution convergence
presentation and handouts
Complimentary code
Week 04
Homework 02
See assignment in the following file hw03.pdf (source latex file hw03.tex). Due date Friday 1pm.
Lecture 06 - 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
Lecture 07 - 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 34rd second.
Complimentary code
Week 05
Homework 04
See assignment in the following file hw04.pdf (source latex file hw04.tex). Due date Friday 1pm.
Lecture 08 - Sorting continued
- Heap
- Heap sorting method
- Vector heap representation
- Matlab built in 'issorted'
presentation and handouts
Lecture 09 - Numerical integration
- Integration problem statement
- The Rectangle method
- Trapezoidal method
- Simpson method
presentation and handouts
Midterm project 01
See the project assignment
Due date: Friday October 7th of 2011 at 1pm.
Week 06
Homework 05
See assignment in the following file hw05.pdf (source latex file hw05.tex). Due date Friday 1pm.
Lecture 10 - Numerical integration continued
- Monte Carlo Integration
- Numerical Integration methods error estimates
presentation and handouts
Complimentary code
Lecture 11 - Random number generators and random processes
- Statistic and probability intro
- Random number generators
presentation and handouts
Complimentary code
Week 07
Lecture 12 - Monte Carlo simulations
- Coin flipping bets
- Anonymous function and their use
- The Monty Hall Paradox
- Disease spread
presentation and handouts
Complimentary code
Lecture 13 - Optimization problem
- Introduction to optimization
- Matlab built in 1D minimization - fminbnd
- 1D optimization - golden section search
presentation and handouts
Complimentary code
Week 08
In class practice
Complimentary code
Lecture 14 - 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: Friday October 28th of 2011 at 1pm.
Week 09
Homework 06
See assignment in the following file hw06.pdf (source latex file hw06.tex). Due date Friday 1pm.
Lecture 15 - Data reduction and fitting
- Goodness of the fit
- Parameter uncertainty estimations
- Homemade implementation of the fitter
- Matlab built-ins
presentation and handouts
Complimentary code
Lecture 16 - Data analysis example
presentation and handouts
Complimentary code
Week 10
Lecture 17 - Combinatorial optimization
- Introduction to the combinatorial problem
- Backpack problem - brute force approach
- Traveling salesman problem
- Permutation generating algorithm
presentation and handouts
Complimentary code
Lecture 18 - Simulated annealing/Metropolis and genetic optimization
- Simulated annealing/Metropolis algorithm
- Genetic algorithm
presentation and handouts
Complimentary code
Midterm project 03
See the project assignment
Due date: Monday November 21th of 2011 at 1pm.
Week 11
Homework 07
See assignment in the following file hw07.pdf (source latex file hw07.tex). Due date Friday 1pm.
Homework 07 data files
Lecture 19 - Ordinary Differential equations
- ODE - ordinary differential equations
- Cauchy boundary conditions
- Euler's method
presentation and handouts
Complimentary code
Lecture 20 - 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
Week 12
Homework 08
See assignment in the following file hw08.pdf (source latex file hw08.tex). Due date Monday 1pm.
Lecture 21 - System of linear algebraic equations
presentation and handouts
Complimentary code
Lecture 22 - Data interpolation
- Nearest neighbor interpolation
- Linear interpolation
- Polynomial fit
- Cubic spline interpolation
- Matlab built in interpolation
- Extrapolation
presentation and handouts
Complimentary code
Week 13
Lecture 23 - Fourier transform
- Fourier series
- Discrete Fourier transform (DFT)
- Matlab implementation
presentation and handouts
Complimentary code
Lecture 24 - Discrete Fourier Transform and filters
- Discrete Fourier transform
- Nyquist criteria
- DFT filters
presentation and handouts
Complimentary code
Week 14
Homework 09
See optional assignment in the following file hw09.pdf (source latex file hw09.tex). Due date Monday 1pm.
Homework 10
See assignment in the following file hw10.pdf (source latex file hw10.tex). Due date Monday 1pm.
Homework 10 data files
Lecture 25 - High performance computing
- Limits to computing
- Parallel computing
- Matlab parallel tools
presentation and handouts
Complimentary code
Week 15
Lecture 26 - Digital filters
- Speed of FFT
- Low-pass filter
- High-pass filter
- Band-pass filter
- Band-stop filter
- Brick wall filters artifacts
- Windowing
- Other DFT applications
presentation and handouts
Complimentary code
Voice filtering demo
Weather data analysis
Lecture 27 - Other useful tools
- Scientist toolbox
- Free software
- Version control software
- Final remarks
presentation and handouts
Final exam project
See the final exam project assignment
Report should be no more than 10 pages long, excluding appendixes with
listings. I will literally strip material exceeding 10 pages and throw it
to a trash basket. This what funding agencies do to all proposals. You
still have to follow the guideline about the font size to be no less than
12 pt.
Due date for electronic submission: Tuesday December 13th of 2011 at 12pm.
The competition and final presentations will take place at the same day at 2pm.
Problem file final_exam_problem1.mat.
A typical 2 litters soda bottle at the Earth with choice of 3 liquids to
fill: water, ethanol, and glucose; also with 3 choices of gases: He, air,
and carbon dioxide.
Voice messages for problem 5. Each group must decode only the one assigned to them.