Lecture 01 - Computers and programming language introduction
- Class goals and structure
- Computers introduction
- Programming languages overview
- Discretization - the main weakness of computers
- Binary representation
Lecture 02 - Matlab as a fancy calculator
- Matlab as a fancy calculator
- Efficient editing
- Help related commands
- Operator precedence
Lecture 03 - Matrices and plotting.
- Matrices
- Colon (:) operator
- Plotting
- Special array arithmetic operators
Lecture 04 - Boolean algebra, conditional statements, loops.
- Boolean algebra
- Comparison operators
- Conditional statements
- Loops
- Series
Lecture 05 - Functions and scripts
- Functions
- Scripts
- Saving and loading variables
Lecture 06 - Root finding
- Root finding problem
- Bisection method
- False position method
- Solution convergence
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
Lecture 08 - Sorting
- Bubble sort method
- Quick sort method
Lecture 09 - Sorting continued
- Heap
- Heap sorting method
- Vector heap representation
Lecture 10 - Numerical integration
- Integration problem statement
- The Rectangle method
- Trapezoidal method
- Simpson method
Lecture 11 - Numerical integration continued
- Monte Carlo Integration
- Numerical Integration methods error estimates
Lecture 12 - Random number generators and random processes
- Statistic and probability intro
- Random number generators
Lecture 13 - Monte Carlo simulations
- Coin flipping bets
- The Monty Hall Paradox
- Disease spread
Lecture 14 - Optimization problem
- Introduction to optimization
- Matlab built in 1D minimization - fminbnd
- 1D optimization - golden section search
Lecture 15 - Multi-D optimization problem
- Multi-D optimization
- Matlab built in Multi-D minimization - fminsearch
- Sample problems
Lecture 16 - Combinatorial optimization
- Introduction to the combinatorial problem
- Brute force optimization
Lecture 17 - Simulated annealing/Metropolis optimization
- Backpack problem - brute force approach
- Simulated annealing/Metropolis algorithm
Lecture 18 - Data reduction and fitting
- Traveling salesman problem
- Data reduction
Lecture 20 - Ordinary Differential equations
- ODE - ordinary differential equations
- Euler's method
Lecture 21 - Ordinary Differential equations continued
- The second-order Runge-Kutta method (RK2)
- The forth-order Runge-Kutta method (RK4)
- Matlab functions for ODEs
Lecture 22 - System of linear algebraic equations
Lecture 23 - Data interpolation
- Nearest neighbor interpolation
- Linear interpolation
- Polynomial fit
- Cubic spline interpolation
- Matlab built in interpolation
- Extrapolation
Lecture 24 - Fourier transform
- Fourier series
- Discrete Fourier transform (DFT)
- Matlab implementation
Lecture 25 - Discrete Fourier Transform and filters
- Discrete Fourier transform
- Nyquist criteria
- DFT filters
Lecture 26 - High performance computing
- Limits to computing
- Parallel computing
- Matlab parallel tools
Lecture 27 - Digital filters
- Speed of FFT
- Low-pass filter
- High-pass filter
- Band-pass filter
- Band-stop filter
- Brick wall filters artifacts
- Windowing
Lecture 28 - Fractals
- Dimension definition
- Fractals
- Affine transformations