Table of Contents

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.1 Variables and assignments
2.2 Identifiers
2.3 Numeric variables
2.4 Numeric expressions
2.5 Mathematical constants
2.6 Repeated commands and the up-arrow key
2.7 String scalars
2.8 Accuracy and rounding error
2.9 Saving and loading variables

3.1 Logical variables
3.2 Logical operators
3.3 Logical expressions
3.4 Logic short circuit evaluation
3.5 Logic precedence rules
3.6 Comparing floating-point numbers for equality

4.1 Scripts
4.2 Comments and clear code
4.3 Custom functions: Basics
4.4 Internal mathematical functions
4.5 Basic input
4.6 Basic output I: disp
4.7 Basic output II: fprintf
4.8 Floating-point formatting in fprintf

5.1 Introduction to arrays
5.2 Row arrays
5.3 Constructing row arrays
5.4 Column arrays

6.1 Row array resizing
6.2 Multi-element row array indexing using integer arrays
6.3 More indexing
6.4 Functions to create numeric row arrays
6.5 1D element-wise arithmetic operators
6.6 Further study: MATLAB® programming environment and 1D arrays

7.1 Logical operators and 1D arrays
7.2 Logical indexing
7.3 Multi-element row array indexing using logical arrays
7.4 Relational operators and row arrays
7.5 Relational  operators and 1D arrays

8.1 Functions and 1D arrays
8.2 Incremental programming: Green Monster example
8.3 Audio signal processing

9.1 Rounding functions
9.2 Remainder functions
9.3 Summation function
9.4 Complex number functions
9.5 Statistics functions
9.6 Pseudo-random number generators
9.7 Discrete integer mathematics functions
9.8 Rational approximation functions

10.1 2D arrays: Introduction
10.2 Indexing an element in a 2D array
10.3 Concatenation
10.4 Multi-element 2D array indexing using integer arrays
10.5 Indexing rows and columns using a single colon
10.6 Manipulating 2D arrays using a single colon
10.7 Multi-element 2D array indexing using logical arrays
10.8 Defining logical indexing arrays using relational expressions
10.9 Indexing 2D arrays using the end keyword
10.10 Additional 2D array material

11.1 Dimensional properties of arrays
11.2 Elementary 2D arrays
11.3 Array manipulation
11.4 Replicating and tiling arrays
11.5 Reshaping arrays

12.1 Find function
12.2 Sorting
12.3 2D element-wise arithmetic operators
12.4 Logical functions for arrays
12.5 Functions and two-dimensional arrays

13.1 Simple plotting
13.2 2D data plots I
13.3 2D data plots II
13.4 3D line plots
13.5 Rectangular data grids

14.1 3D and higher arrays
14.2 True color/RGB image
14.3 Indexed color image
14.4 Grayscale/intensity images
14.5 Common image file operations

15.1 Triangular data grids
15.2 3D mesh and surface graphs
15.3 Scatter plots
15.4 Animating plots with loops
15.5 Additional plotting material

16.1 If-else statement
16.2 Relational operators
16.3 Multiple branches
16.4 Logical operators
16.5 Switch statement

17.1 While loops
17.2 More while examples
17.3 Counting
17.4 For loops
17.5 Nested loops
17.6 Loops and arrays
17.7 Break and continue

18.1 Scripts with local functions
18.2 Functions with local functions
18.3 Nested functions
18.4 Anonymous functions
18.5 Function handles
18.6 Scope of variables
18.7 Global variables
18.8 Persistent variables
18.9 Recursion
18.10 Counting function arguments

19.1 Strings
19.2 Character vector
19.3 Strings append and combine
19.4 String conversions
19.5 Character vector conversions
19.6 Text comparisons
19.7 Text qualities
19.8 Find text
19.9 Manipulating text

20.1 Grouping data: Structure
20.2 Defining a structure
20.3 Accessing a structure
20.4 MATLAB® functions for structures
20.5 Structures as function arguments
20.6 Structure with array fields
20.7 Array of structures
20.8 Structure example: Seat reservation system

21.1 Objects: Introduction
21.2 Classes: Introduction
21.3 Class properties
21.4 Class methods
21.5 Class example: Seat reservation system
21.6 Operator overloading
21.7 Mutators, accessors, and private helpers
21.8 Handle classes
21.9 Handle class example: Ball drop

22.1 Databases
22.2 Table fundamentals: Creation
22.3 Table fundamentals: Extraction
22.4 Categorical arrays

23.1 Cell Arrays: Construction
23.2 Cell Arrays: Accessing a cell
23.3 Cell array example

24.1 Graphical objects
24.2 Message dialog boxes
24.3 Input dialog boxes
24.4 Sequential GUI programming
24.5 Event-driven GUI programming: App Designer
24.6 Event-driven GUI programming: Guide
24.7 Further study

25.1 Interpolation
25.2 Curve fitting: Least squares regression
25.3 Numerical integration
25.4 Numerical differentiation
25.5 Nonlinear equations: Zeros

26.1 Vectors
26.2 Matrices
26.3 Matrix transpose
26.4 Matrix calculations
26.5 Square matrices
26.6 Elementary square matrices
26.7 Linear systems
26.8 Square matrices: Solving Ax = b
26.9 Triangular matrix linear equation solvers
26.10 Gaussian elimination I
26.11 Gaussian elimination II
26.12 Gauss-Jordan elimination

27.1 Matrix rank
27.2 Properties of the row-echelon matrices of A
27.3 Vector spaces I
27.4 Vector spaces II
27.5 Row vector space of A
27.6 Column vector space of A
27.7 Null vector space of A
27.8 Null vector space of transpose A
27.9 Solutions to Ax = b
27.10 Least squares solutions to Ax = b
27.11 Eigenvalues and eigenvectors

28.1 Symbolic variables
28.2 Symbolic expressions
28.3 Formula manipulation and simplification
28.4 Operators
28.5 Plots
28.6 Series
28.7 Limits
28.8 Algebraic equations
28.9 Calculus
28.10 Ordinary differential equations
28.11 Converting between symbolic and numeric objects
28.12 Linear algebra II
28.13 Vector calculus
28.14 Integral transforms
28.15 Mathematical functions
28.16 Special functions

29.1 Time Series Data

Transform the learning experience with an interactive approach to teaching MATLAB®

Our Introduction to MATLAB® zyBook provides an interactive learning experience of programming foundations and MATLAB® with hundreds of embedded learning questions, animations, tools, and an integrated MATLAB® programming homework system.

  • Strong emphasis on array operations
  • 700+ participation and challenge activities: questions, animations, tools
  • Fully embedded MATLAB® homework system
  • Ideal for self-paced independent learning, as well as for a traditional class
  • Adopters have access to a test bank with over 400 questions

zyBooks is the first partner to offer MATLAB® in the cloud and integrated within a textbook. MATLAB® and the L-shaped membrane logo® are registered trademarks of The MathWorks, Inc.

zyLabs with MATLAB® Grader™

Available for a modest extra cost, MATLAB® zyLabs is a program submission and auto-grading system. MATLAB® zyLabs is an implementation of MATLAB® Grader™ within the zyVersion through our partnership with MathWorks.

  • Instructors can create labs and assessments using features built into MATLAB® zyLabs and write scripts for custom assessments – no software installation required
  • MATLAB® zyLabs are fully integrated into the zyVersion and provide students access to MATLAB’s industry standard toolboxes
  • Students can run MATLAB® commands directly in zyLabs, avoiding the complexity of using external tools
  • Students receive immediate feedback on their submissions and can correct and resubmit their solutions, increasing student learning and motivation

What is a zyBook?

Introduction to MATLAB® is a web-native, interactive zyBook that helps students visualize concepts to learn faster and more effectively than with a traditional textbook. (Check out our research.)

Since 2012, over 1,700 universities and colleges across the country have adopted web-native zyBooks to transform their STEM education.

zyBooks benefit both students and instructors:

  • Instructor benefits
  • Customize your course by reorganizing existing content or adding your own
  • Continuous publication model automatically updates your course with the latest content and technologies
  • Robust reporting gives you insight into students’ progress, reading and participation
  • Save time with auto-graded labs and challenge activities that seamlessly integrate with your LMS gradebook
  • Student benefits
  • Learning questions and other content serve as an interactive form of reading
  • Instant feedback on labs and homework
  • Concepts come to life through extensive animations embedded into the interactive content
  • Save chapters as PDFs to reference the material at any time


Andre Knoesen
Professor of Electrical and Computer Engineering
University of California, Davis

Rajeevan Amirtharajah
Professor of Electrical and Computer Engineering
University of California, Davis

Instructors: Interested in evaluating this zyBook for your class?