Introduction to MATLAB
Andre Knoesen | Rajeevan Amirtharajah
zyBooks 2017

Table of Contents

1. Introduction to MATLAB
1.1 Solving engineering problems with MATLAB
1.2 MATLAB background
1.3 MATLAB and the interpreter
1.4 Computer basics
1.5 Binary numbers
1.6 A brief tour of a computer

2. Variables
2.1 Variables and assignments
2.2 Identifiers
2.3 Numeric variables
2.4 Mathematical constants
2.5 Numeric expressions
2.6 Repeated commands and the up-arrow key
2.7 Character variables
2.8 Strings
2.9 Logical variables
2.10 Accuracy and rounding error

3. Scripts/Fcts
3.1 Scripts
3.2 Comments and clear code
3.3 Custom functions
3.4 Internal mathematical functions
3.5 Basic input: The input() function
3.6 Basic output I: disp()
3.7 Basic output II: fprintf()
3.8 Floating-point formatting in fprintf
3.9 Further study: MATLAB programming environment I

4. 1D Array Basics
4.1 Introduction to arrays
4.2 Row arrays
4.3 Constructing row arrays
4.4 Multi-element row array indexing using integer arrays
4.5 Multi-element row array indexing using logical arrays
4.6 Row array resizing
4.7 More indexing
4.8 Functions to create numeric row arrays
4.9 Relational operators and row arrays
4.10 Comparing floating-point numbers for equality
4.11 Strings as arrays
4.12 Column arrays
4.13 Further study: MATLAB programming environment II

5. 1D Array Advanced
5.1 1D element-wise arithmetic operators
5.2 Logical operators and 1D arrays
5.3 Combining relational and logical operators
5.4 Functions and 1D arrays
5.5 Saving and loading variables

6. 1D Array Apps
6.1 Incremental programming: Green Monster example
6.2 Audio signal processing
6.3 Rounding functions
6.4 Remainder and modulus functions
6.5 Summation function
6.6 Complex number functions
6.7 Statistics functions
6.8 Pseudo-random number generators
6.9 Discrete integer mathematics functions
6.10 Rational approximation function

7. 2D Array Basics
7.1 2D arrays: Introduction
7.2 Indexing an element in a 2D array
7.3 Concatenation
7.4 Multi-element 2D array indexing using integer arrays
7.5 Indexing rows and columns using a single colon
7.6 Manipulating 2D arrays using a single colon
7.7 Multi-element 2D array indexing using logical arrays
7.8 Defining logical indexing arrays using relational expressions
7.9 Indexing 2D arrays using the end keyword
7.10 Additional 2D array material

8. 2D Array Advanced
8.1 Dimensional properties of arrays
8.2 Elementary 2D arrays
8.3 Array manipulation
8.4 Replicating and tiling arrays
8.5 Reshaping arrays
8.6 Find function
8.7 Sorting
8.8 2D element-wise arithmetic operators
8.9 Logical functions for arrays
8.10 Functions and two-dimensional arrays

9. Data Visualization
9.1 Simple plotting
9.2 2D data plots I
9.3 3D and higher arrays
9.4 True color/RGB image
9.5 Indexed color image
9.6 Grayscale/intensity images
9.7 Common image file operations
9.8 2D data plots II
9.9 3D line plots
9.10 Rectangular data grids
9.11 Triangular data grids
9.12 Surface and mesh plots
9.13 Scatter plots
9.14 Animating plots with loops
9.15 Additional plotting material

10. Branches
10.1 If-else statement
10.2 Relational operators
10.3 Multiple branches
10.4 Logical operators
10.5 Switch statement

11. Loops
11.1 While loops
11.2 More while examples
11.3 Counting
11.4 For loops
11.5 Nested loops
11.6 Loops and arrays

12. Custom Fcts
12.1 Scripts with local functions
12.2 Functions with local functions
12.3 Nested functions
12.4 Anonymous functions
12.5 Function handles
12.6 Scope of variables
12.7 Global variables
12.8 Persistent variables
12.9 Recursion
12.10 Counting function arguments

13. Strings
13.1 Constructing strings
13.2 String comparisons
13.3 Character properties
13.4 String parsing and manipulating
13.5 Converting from numbers to strings
13.6 Converting from strings
13.7 Arrays of strings
13.8 Cell array of strings
13.9 Further study: Importing Text Files

14. Structures
14.1 Grouping data: Structure
14.2 Defining a structure
14.3 Accessing a structure
14.4 MATLAB functions for structures
14.5 Structures as function arguments
14.6 Structure with array fields
14.7 Array of structures
14.8 Structure example: Seat reservation system

15. MATLAB Data Structures
15.1 Data classes
15.2 Grouping data: Cell
15.3 Accessing a cell
15.4 Cell array example
15.5 Categorical arrays
15.6 Table

16. Object Oriented Programming
16.1 Objects: Introduction
16.2 Classes: Introduction
16.3 Class properties
16.4 Class methods
16.5 Class example: Seat reservation system
16.6 Operator overloading
16.7 Mutators, accessors, and private helpers
16.8 Handle classes
16.9 Handle class example: Ball drop

17. GUIs
17.1 Handle graphics objects
17.2 Message dialog boxes
17.3 Input dialog boxes
17.4 Sequential GUI programming
17.5 Event-driven GUI programming
17.6 Further Study

18. Applied Mathematics
18.1 Interpolation
18.2 Curve fitting: Least Squares Regression
18.3 Numerical integration
18.4 Numerical differentiation
18.5 Nonlinear equations: Zeros

19. Linear Algebra I
19.1 Vectors
19.2 Matrices
19.3 Matrix transpose
19.4 Matrix calculations
19.5 Square matrices
19.6 Elementary square matrices
19.7 Linear systems
19.8 Square matrices: Solving Ax = b
19.9 Triangular matrix linear equation solvers
19.10 Gaussian elimination I
19.11 Gaussian elimination II
19.12 Gauss-Jordan elimination

20. Linear Algebra II
20.1 Matrix rank
20.2 Properties of the row-echelon matrices of A
20.3 Vector spaces I
20.4 Vector spaces II
20.5 Row vector space of A
20.6 Column vector space of A
20.7 Null vector space of A
20.8 Null vector space of transpose A
20.9 Solutions to Ax = b
20.10 Least squares solutions to Ax=b
20.11 Eigenvalues and eigenvectors

21. Appendix: Symbolic Math
21.1 Symbolic variables
21.2 Symbolic expressions
21.3 Formula manipulation and simplification
21.4 Operators
21.5 Plots
21.6 Series
21.7 Limits
21.8 Algebraic equations
21.9 Calculus
21.10 Ordinary differential equations
21.11 Converting between symbolic and numeric objects
21.12 Linear algebra II
21.13 Vector calculus
21.14 Integral transforms
21.15 Mathematical functions
21.16 Special functions