| Prolegomenon |
|
xiii | |
| How to Use This Book |
|
xv | |
| About MATLAB |
|
xviii | |
|
PART I Basic Computations and Visualization |
|
|
|
|
|
3 | (28) |
|
|
|
3 | (6) |
|
1.2 Logic, Loops and Iterations |
|
|
9 | (4) |
|
1.3 Iteration: The Newton-Raphson Method |
|
|
13 | (5) |
|
1.4 Function Calls, Input/Output Interactions and Debugging |
|
|
18 | (5) |
|
1.5 Plotting and Importing/Exporting Data |
|
|
23 | (8) |
|
|
|
31 | (30) |
|
2.1 Direct Solution Methods for Ax = b |
|
|
31 | (4) |
|
2.2 Iterative Solution Methods for Ax = b |
|
|
35 | (4) |
|
2.3 Gradient (Steepest) Descent for Ax = b |
|
|
39 | (5) |
|
2.4 Eigenvalues, Eigenvectors and Solvability |
|
|
44 | (5) |
|
2.5 Eigenvalues and Eigenvectors for Face Recognition |
|
|
49 | (7) |
|
|
|
56 | (5) |
|
|
|
61 | (16) |
|
3.1 Least-Square Fitting Methods |
|
|
61 | (4) |
|
3.2 Polynomial Fits and Splines |
|
|
65 | (4) |
|
3.3 Data Fitting with MATLAB |
|
|
69 | (8) |
|
4 Numerical Differentiation and Integration |
|
|
77 | (16) |
|
4.1 Numerical Differentiation |
|
|
77 | (6) |
|
4.2 Numerical Integration |
|
|
83 | (4) |
|
4.3 Implementation of Differentiation and Integration |
|
|
87 | (6) |
|
|
|
93 | (26) |
|
5.1 Unconstrained Optimization (Derivative-Free Methods) |
|
|
93 | (6) |
|
5.2 Unconstrained Optimization (Derivative Methods) |
|
|
99 | (6) |
|
|
|
105 | (5) |
|
|
|
110 | (3) |
|
|
|
113 | (6) |
|
|
|
119 | (18) |
|
6.1 Customizing Plots and Basic 2D Plotting |
|
|
119 | (6) |
|
6.2 More 2D and 3D Plotting |
|
|
125 | (6) |
|
6.3 Movies and Animations |
|
|
131 | (6) |
|
PART II Differential and Partial Differential Equations |
|
|
|
7 Initial and Boundary Value Problems of Differential Equations |
|
|
137 | (43) |
|
7.1 Initial Value Problems: Euler, Runge-Kutta and Adams Methods |
|
|
137 | (7) |
|
7.2 Error Analysis for Time-Stepping Routines |
|
|
144 | (5) |
|
7.3 Advanced Time-Stepping Algorithms |
|
|
149 | (4) |
|
7.4 Boundary Value Problems: The Shooting Method |
|
|
153 | (7) |
|
7.5 Implementation of Shooting and Convergence Studies |
|
|
160 | (4) |
|
7.6 Boundary Value Problems: Direct Solve and Relaxation |
|
|
164 | (3) |
|
7.7 Implementing MATLAB for Boundary Value Problems |
|
|
167 | (5) |
|
7.8 Linear Operators and Computing Spectra |
|
|
172 | (8) |
|
8 Finite Difference Methods |
|
|
180 | (20) |
|
8.1 Finite Difference Discretization |
|
|
180 | (6) |
|
8.2 Advanced Iterative Solution Methods for Ax = b |
|
|
186 | (1) |
|
8.3 Fast Poisson Solvers: The Fourier Transform |
|
|
186 | (4) |
|
8.4 Comparison of Solution Techniques for Ax = b: Rules of Thumb |
|
|
190 | (5) |
|
8.5 Overcoming Computational Difficulties |
|
|
195 | (5) |
|
9 Time and Space Stepping Schemes: Method of Lines |
|
|
200 | (25) |
|
9.1 Basic Time-Stepping Schemes |
|
|
200 | (5) |
|
9.2 Time-Stepping Schemes: Explicit and Implicit Methods |
|
|
205 | (4) |
|
|
|
209 | (4) |
|
9.4 Comparison of Time-Stepping Schemes |
|
|
213 | (3) |
|
9.5 Operator Splitting Techniques |
|
|
216 | (3) |
|
9.6 Optimizing Computational Performance: Rules of Thumb |
|
|
219 | (6) |
|
|
|
225 | (31) |
|
10.1 Fast Fourier Transforms and Cosine/Sine Transform |
|
|
225 | (4) |
|
10.2 Chebychev Polynomials and Transform |
|
|
229 | (4) |
|
10.3 Spectral Method Implementation |
|
|
233 | (2) |
|
10.4 Pseudo-Spectral Techniques with Filtering |
|
|
235 | (5) |
|
10.5 Boundary Conditions and the Chebychev Transform |
|
|
240 | (4) |
|
10.6 Implementing the Chebychev Transform |
|
|
244 | (5) |
|
10.7 Computing Spectra: The Floquet-Fourier-Hill Method |
|
|
249 | (7) |
|
11 Finite Element Methods |
|
|
256 | (23) |
|
11.1 Finite Element Basis |
|
|
256 | (5) |
|
11.2 Discretizing with Finite Elements and Boundaries |
|
|
261 | (5) |
|
11.3 MATLAB for Partial Differential Equations |
|
|
266 | (5) |
|
11.4 MATLAB Partial Differential Equations Toolbox |
|
|
271 | (8) |
|
PART III Computational Methods for Data Analysis |
|
|
|
12 Statistical Methods and Their Applications |
|
|
279 | (22) |
|
12.1 Basic Probability Concepts |
|
|
279 | (7) |
|
12.2 Random Variables and Statistical Concepts |
|
|
286 | (8) |
|
12.3 Hypothesis Testing and Statistical Significance |
|
|
294 | (7) |
|
13 Time-Frequency Analysis: Fourier Transforms and Wavelets |
|
|
301 | (57) |
|
13.1 Basics of Fourier Series and the Fourier Transform |
|
|
301 | (7) |
|
13.2 FFT Application: Radar Detection and Filtering |
|
|
308 | (8) |
|
13.3 FFT Application: Radar Detection and Averaging |
|
|
316 | (6) |
|
13.4 Time-Frequency Analysis: Windowed Fourier Transforms |
|
|
322 | (6) |
|
13.5 Time-Frequency Analysis and Wavelets |
|
|
328 | (7) |
|
13.6 Multi-Resolution Analysis and the Wavelet Basis |
|
|
335 | (5) |
|
13.7 Spectrograms and the Gabor Transform in MATLAB |
|
|
340 | (6) |
|
13.8 MATLAB Filter Design and Wavelet Toolboxes |
|
|
346 | (12) |
|
14 Image Processing and Analysis |
|
|
358 | (18) |
|
14.1 Basic Concepts and Analysis of Images |
|
|
358 | (6) |
|
14.2 Linear Filtering for Image Denoising |
|
|
364 | (5) |
|
14.3 Diffusion and Image Processing |
|
|
369 | (7) |
|
15 Linear Algebra and Singular Value Decomposition |
|
|
376 | (36) |
|
15.1 Basics of the Singular Value Decomposition (SVD) |
|
|
376 | (5) |
|
15.2 The SVD in Broader Context |
|
|
381 | (6) |
|
15.3 Introduction to Principal Component Analysis (PCA) |
|
|
387 | (4) |
|
15.4 Principal Components, Diagonalization and SVD |
|
|
391 | (4) |
|
15.5 Principal Components and Proper Orthogonal Modes |
|
|
395 | (8) |
|
|
|
403 | (9) |
|
16 Independent Component Analysis |
|
|
412 | (19) |
|
16.1 The Concept of Independent Components |
|
|
412 | (7) |
|
16.2 Image Separation Problem |
|
|
419 | (5) |
|
16.3 Image Separation and MATLAB |
|
|
424 | (7) |
|
17 Image Recognition: Basics of Machine Learning |
|
|
431 | (18) |
|
17.1 Recognizing Dogs and Cats |
|
|
431 | (5) |
|
17.2 The SVD and Linear Discrimination Analysis |
|
|
436 | (9) |
|
17.3 Implementing Cat/Dog Recognition in MATLAB |
|
|
445 | (4) |
|
18 Basics of Compressed Sensing |
|
|
449 | (23) |
|
18.1 Beyond Least-Square Fitting: The L1 Norm |
|
|
449 | (7) |
|
18.2 Signal Reconstruction and Circumventing Nyquist |
|
|
456 | (8) |
|
18.3 Data (Image) Reconstruction from Sparse Sampling |
|
|
464 | (8) |
|
19 Dimensionality Reduction for Partial Differential Equations |
|
|
472 | (34) |
|
19.1 Modal Expansion Techniques for PDEs |
|
|
472 | (6) |
|
19.2 PDE Dynamics in the Right (Best) Basis |
|
|
478 | (4) |
|
19.3 Global Normal Forms of Bifurcation Structures in PDEs |
|
|
482 | (10) |
|
19.4 The POD Method and Symmetries/Invariances |
|
|
492 | (7) |
|
19.5 POD Using Robust PCA |
|
|
499 | (7) |
|
20 Dynamic Mode Decomposition |
|
|
506 | (15) |
|
20.1 Theory of Dynamic Mode Decomposition (DMD) |
|
|
506 | (4) |
|
20.2 Dynamics of DMD Versus POD |
|
|
510 | (5) |
|
|
|
515 | (6) |
|
21 Data Assimilation Methods |
|
|
521 | (16) |
|
21.1 Theory of Data Assimilation |
|
|
521 | (5) |
|
21.2 Data Assimilation, Sampling and Kalman Filtering |
|
|
526 | (3) |
|
21.3 Data Assimilation for the Lorenz Equation |
|
|
529 | (8) |
|
22 Equation-Free Modeling |
|
|
537 | (14) |
|
22.1 Multi-Scale Physics: An Equation-Free Approach |
|
|
537 | (5) |
|
22.2 Lifting and Restricting in Equation-Free Computing |
|
|
542 | (5) |
|
22.3 Equation-Free Space-Time Dynamics |
|
|
547 | (4) |
|
23 Complex Dynamical Systems: Combining Dimensionality Reduction, Compressive Sensing and Machine Learning |
|
|
551 | (22) |
|
23.1 Combining Data Methods for Complex Systems |
|
|
551 | (5) |
|
23.2 Implementing a Dynamical Systems Library |
|
|
556 | (8) |
|
23.3 Flow Around a Cylinder: A Prototypical Example |
|
|
564 | (9) |
|
PART IV Scientific Applications |
|
|
|
24 Applications of Differential Equations and Boundary Value Problems |
|
|
573 | (17) |
|
24.1 Neuroscience and the Hodgkin-Huxley Model |
|
|
573 | (4) |
|
24.2 Celestial Mechanics and the Three-Body Problem |
|
|
577 | (4) |
|
24.3 Atmospheric Motion and the Lorenz Equations |
|
|
581 | (4) |
|
|
|
585 | (3) |
|
24.5 Electromagnetic Waveguides |
|
|
588 | (2) |
|
25 Applications of Partial Differential Equations |
|
|
590 | (30) |
|
|
|
590 | (3) |
|
|
|
593 | (7) |
|
25.3 Bose-Elnstein Condensates |
|
|
600 | (4) |
|
25.4 Advection-Diffusion and Atmospheric Dynamics |
|
|
604 | (7) |
|
25.5 Introduction to Reaction-Diffusion Systems |
|
|
611 | (5) |
|
25.6 Steady State Flow Over an Airfoil |
|
|
616 | (4) |
|
26 Applications of Data Analysis |
|
|
620 | (9) |
|
26.1 Analyzing Music Scores and the Gabor Transform |
|
|
620 | (2) |
|
26.2 Image Denoising through Filtering and Diffusion |
|
|
622 | (3) |
|
26.3 Oscillating Mass and Dimensionality Reduction |
|
|
625 | (1) |
|
26.4 Music Genre Identification |
|
|
626 | (3) |
| References |
|
629 | (5) |
| Index of MATLAB Commands |
|
634 | (2) |
| Index |
|
636 | |