General class information
Syllabus html pdf
Sample homework report
Tentative calendar
Tentative list of topics
Important dates
Getting Matlab
Please visit W&M IT software support page and download Matlab from appropriate "Licensed Software >> 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
Matt Simons <mtsimons@email.wm.edu>. Please copy each email submission to him.
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
Please complete an introductory survey.
See assignment in the following file hw01.pdf (source latex file hw01.tex). Due date Monday 1pm. Please, add phys256 to the subject line of your email submission.
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
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
Week 02
Homework 02
See assignment in the following file hw02.pdf (source latex file hw02.tex). Due date Monday 1pm. Please, add phys256 to the subject line of your email submission.
Lecture 03 - Boolean algebra, conditional statements, loops.
- Boolean algebra
- Comparison operators
- Conditional statements
- Loops
- Series
presentation and handouts
Complimentary code
Lecture 04 - Functions and scripts
- Scripts
- Functions
- Saving and loading variables
presentation and handouts
Complimentary code
In class practice
Complimentary code
Week 03
Homework 03
See assignment in the following file hw03.pdf (source latex file hw03.tex). Due date Monday 1pm. Please, add phys256 to the subject line of your email submission.
Lecture 05 - Root finding
- Root finding problem
- Bisection method
- False position method
- Solution convergence
presentation and handouts
Complimentary code
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
Week 04
Homework 04
See assignment in the following file hw04.pdf (source latex file hw04.tex). Due date Monday 1pm. Please, add phys256 to the subject line of your email submission.
Lecture 07 - Numerical integration
- Integration problem statement
- The Rectangle method
- Trapezoidal method
- Simpson method
presentation and handouts
Lecture 08 - Numerical integration continued
- Monte Carlo Integration
- Numerical Integration methods error estimates
- Multidimensional integration
- Matlab functions for integration
presentation and handouts
Complimentary code
Midterm project 01
Due date: Monday October 1st of 2012 at 1pm.
See the project assignment
The LaTeX file of the exam body
Week 05
Lecture 09 - Practical example: diffraction
- Practical example: diffraction
presentation and handouts
Complimentary code
Lecture 10 - Practical example: diffraction
- Practical example: diffraction - continued
presentation and handouts
Week 06
Homework 05
See assignment in the following file hw05.pdf (source latex file hw05.tex). Due date Monday 1pm. Please, add phys256 to the subject line of your email submission.
Lecture 11 - Random number generators and random processes
- Statistic and probability intro
- Random number generators
presentation and handouts
Complimentary code
Lecture 12 - Monte Carlo simulations
- Coin flipping bets
- Anonymous function and their use
- Matlab arrayfun
- The Monty Hall Paradox
- Disease spread
presentation and handouts
Complimentary code
Week 07
Homework 06
See assignment in the following file hw06.pdf (source latex file hw06.tex). Due day is Wednesday October 17, 1pm. Please, add phys256 to the subject line of your email submission.
Lecture 13 - Optimization problem
- Introduction to optimization
- Matlab built in 1D minimization - fminbnd
- 1D optimization - golden section search
presentation and handouts
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
Due date: Monday October 29 of 2012 at 1pm.
See the project assignment
Notice apostrophes in saving of the movie statement
save('movie_file.mat', 'map_evolution_movie')
Week 08
Homework 07
See assignment in the following file hw07.pdf (source latex file hw07.tex). Due date Monday 1pm. Please, add phys256 to the subject line of your email submission.
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 09
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
Week 10
Homework 08
See assignment in the following file hw08.pdf (source latex file hw08.tex). Due date Monday 1pm. Please, add phys256 to the subject line of your email submission.
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
Midterm project 03
See the project assignment
Due date: Monday November 19th of 2012 at 1pm.
Week 11
Homework 09
See assignment in the following file hw09.pdf (source latex file hw09.tex). Due date Monday 1pm. Please, add phys256 to the subject line of your email submission.
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 12
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 13
Homework 10
See assignment in the following file hw10.pdf (source latex file hw10.tex). Due date Monday 1pm. Please, add phys256 to the subject line of your email submission.
Homework 10 data files
Homework 11
Optional.
See assignment in the following file hw11.pdf (source latex file hw11.tex). Due date Monday 1pm. Please, add phys256 to the subject line of your email submission.
Lecture 25 - High performance computing
- Limits to computing
- Parallel computing
- Matlab parallel tools
presentation and handouts
Complimentary code
Week 14
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 - Sorting
- Bubble sort method
- Quick sort method
- Heap
- Heap sorting method
- Vector heap representation
- Matlab built in 'issorted'
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
Homework 12
Optional.
See assignment in the following file hw12.pdf (source latex file hw12.tex). Due date Monday 1pm. Please, add phys256 to the subject line of your email submission.
Week 15
Lecture 28 - Computer Architecture. Secure communication and encryption.
- Computer Architecture
- Secure communication and encryption.
presentation and handouts
Lecture 29 - 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: Thursday December 13th of 2012 at 1pm.
The competition and final presentations will take place on Friday December 14th at 2pm.
Problem files
Voice messages for problem 4. Each group must decode only the one assigned to them.
- noisy_msg1.wav Chris, Evan, and Reed
- noisy_msg2.wav Joshua, Alice, and Kelly
- noisy_msg3.wav Jeni, Will, and Alec
- noisy_msg4.wav Bret and Rachel
- noisy_msg5.wav Anuraag, Dave, and Dave
- noisy_msg6.wav Amanda, Cora and Wave
- noisy_msg7.wav Alex, Matt, and Paras
- noisy_msg8.wav TBA
- noisy_msg9.wav TBA
- noisy_msg10.wav TBA