MATLAB Programming for Engineers 7th edition

Textbook Cover

Stephen J. Chapman
Publisher: Cengage Learning

eBook

eBook

Your students can pay an additional fee for access to an online version of the textbook that might contain additional interactive features.

lifetime of edition

Lifetime of Edition (LOE)

Your students are allowed unlimited access to WebAssign courses that use this edition of the textbook at no additional cost.

course pack

Course Packs

Save time with ready-to-use assignments built by subject matter experts specifically for this textbook. You can customize and schedule any of the assignments you want to use.

textbook resources

Textbook Resources

Additional instructional and learning resources are available with the textbook, and might include testbanks, slide presentations, online simulations, videos, and documents.


  • Chapman MATLAB Programming for Engineers - 7e

Access is contingent on use of this textbook in the instructor's classroom.

  • Chapter 1: Introduction to MATLAB
    • 1.1: The Advantages of MATLAB
    • 1.2: Disadvantages of MATLAB
    • 1.3: The MATLAB Environment (1)
    • 1.4: Using MATLAB as a Calculator (5)
    • 1.5: MATLAB Script Files (6)
    • 1.6: Summary
    • 1.7: Exercises
    • 1: Chapter Quiz (20)

  • Chapter 2: MATLAB Basics
    • 2.1: Variables and Arrays (2)
    • 2.2: Creating and Initializing Variables in MATLAB (2)
    • 2.3: Multidimensional Arrays
    • 2.4: Subarrays
    • 2.5: Special Values
    • 2.6: Displaying Output Data (1)
    • 2.7: Data Files
    • 2.8: Scalar and Array Operations (3)
    • 2.9: Hierarchy of Operations (1)
    • 2.10: Built-in MATLAB Functions
    • 2.11: Introduction to Plotting (1)
    • 2.12: Examples (16)
    • 2.13: MATLAB Applications: Vector Mathematics (4)
    • 2.14: MATLAB Applications: Matrix Operations and Simultaneous Equations (1)
    • 2.15: Debugging MATLAB Programs
    • 2.16: Summary
    • 2.17: Exercises
    • 2: Chapter Quiz (20)

  • Chapter 3: Two-Dimensional Plots
    • 3.1: A Note on Character Arrays vs. Strings in Plots
    • 3.2: Additional Plotting Features for Two-Dimensional Plots (8)
    • 3.3: Polar Plots (3)
    • 3.4: Annotating and Saving Plots (1)
    • 3.5: Additional Types of Two-Dimensional Plots (3)
    • 3.6: Using the plot Function with Two-Dimensional Arrays
    • 3.7: Plots with Two yAxes (7)
    • 3.8: Summary
    • 3.9: Exercises
    • 3: Chapter Quiz (19)

  • Chapter 4: Branching Statements and Program Design
    • 4.1: Introduction to Top-Down Design Techniques
    • 4.2: Use of Pseudocode
    • 4.3: The Logical Data Type (1)
    • 4.4: Branches (11)
    • 4.5: More on Debugging MATLAB Programs
    • 4.6: Code Sections
    • 4.7: MATLAB Applications: Roots of Polynomials (2)
    • 4.8: Summary
    • 4.9: Exercises
    • 4: Chapter Quiz (20)

  • Chapter 5: Loops and Vectorization
    • 5.1: The while Loop (2)
    • 5.2: The for Loop (33)
    • 5.3: Logical Arrays and Vectorization (2)
    • 5.4: The MATLAB Profiler
    • 5.5: Additional Examples
    • 5.6: The textread Function (1)
    • 5.7: MATLAB Applications: Statistical Functions
    • 5.8: MATLAB Applications: Curve Fitting and Interpolation (2)
    • 5.9: Summary
    • 5.10: Exercises
    • 5: Chapter Quiz (20)

  • Chapter 6: Basic User-Defined Functions
    • 6.1: Introduction to MATLAB Functions (1)
    • 6.2: Variable Passing in MATLAB: The Pass-By-Value Scheme (17)
    • 6.3: Optional Arguments (1)
    • 6.4: Sharing Data Using Global Memory (20)
    • 6.5: Preserving Data Between Calls to a Function
    • 6.6: Built-in MATLAB Functions: Sorting Functions (3)
    • 6.7: Built-in MATLAB Functions: Random Number Functions
    • 6.8: Summary
    • 6.9: Exercises
    • 6: Chapter Quiz (21)

  • Chapter 7: Advanced Features of User-Defined Functions
    • 7.1: Function Functions (2)
    • 7.2: Function Handles (2)
    • 7.3: Functions eval and feval
    • 7.4: Local Functions, Private Functions, and Nested Functions (17)
    • 7.5: An Example Application: Solving Ordinary Differential Equations (3)
    • 7.6: Anonymous Functions (4)
    • 7.7: Recursive Functions (1)
    • 7.8: Plotting Functions
    • 7.9: Histograms (3)
    • 7.10: An Example Application: Numerical Integration
    • 7.11: Summary
    • 7.12: Exercises
    • 7: Chapter Quiz (20)

  • Chapter 8: Complex Numbers and 3D Plots
    • 8.1: Complex Data (10)
    • 8.2: Multidimensional Arrays
    • 8.3: Gallery of MATLAB Plots (13)
    • 8.4: Line Plots
    • 8.5: Discrete Data Plots
    • 8.6: Polar Plots
    • 8.7: Contour Plots
    • 8.8: Surface and Mesh Plots
    • 8.9: Pie Charts, Bar Plots, and Histograms
    • 8.10: Color Order, Color Maps, and Color Bars
    • 8.11: Summary
    • 8.12: Exercises
    • 8: Chapter Quiz (21)

  • Chapter 9: Additional Data Types
    • 9.1: Character Arrays versus Strings
    • 9.2: Character Arrays
    • 9.3: Strings
    • 9.4: Character Functions (10)
    • 9.5: Summary of Character Array and String Functions
    • 9.6: The single Data Type
    • 9.7: Integer Data Types (1)
    • 9.8: Limitations of the single and Integer Data Types
    • 9.8: The datetime and duration Data Types (4)
    • 9.10: Summary
    • 9.11: Exercises
    • 9: Chapter Quiz (20)

  • Chapter 10: Sparse Arrays, Cell Arrays, Structures, and Tables
    • 10.1: Sparse Arrays
    • 10.2: Cell Arrays (10)
    • 10.3: Structures (8)
    • 10.4: Tables (3)
    • 10.5: Summary
    • 10.6: Exercises
    • 10: Chapter Quiz (20)

  • Chapter 11: Input/Output Functions
    • 11.1: The textread Function
    • 11.2: More about the load and save Commands
    • 11.3: An Introduction to MATLAB File Processing (1)
    • 11.4: File Opening and Closing
    • 11.5: Binary I/O Functions (1)
    • 11.6: Formatted I/O Functions (7)
    • 11.7: Comparing Formatted and Binary I/O Functions
    • 11.8: File Positioning and Status Functions (4)
    • 11.9: The textscan Function (1)
    • 11.10: Function uiimport Function
    • 11.11: Summary
    • 11.12: Exercises
    • 11: Chapter Quiz (20)

  • Chapter 12: User-Defined Classes and Object-Oriented Programming
    • 12.1: An Introduction to Object-Oriented Programming
    • 12.2: The Structure of a MATLAB Class
    • 12.3: Value Classes Versus Handle Classes
    • 12.4: Destructors: The delete Method
    • 12.5: Access Methods and Access Controls (8)
    • 12.6: Static Methods
    • 12.7: Defining Class Methods in Separate Files
    • 12.8: Overriding Operators
    • 12.9: Events and Listeners
    • 12.10: Exceptions
    • 12.11: Superclasses and Subclasses (1)
    • 12.12: Summary (1)
    • 12.13: Exercises
    • 12: Chapter Quiz (20)

  • Chapter 13: Handle Graphics and Animation
    • 13.1: Handle Graphics (1)
    • 13.2: The MATLAB Graphics System
    • 13.3: Object Handles
    • 13.4: Examining and Changing Object Properties (4)
    • 13.5: Using set to List Possible Property Values
    • 13.6: User-Defined Data
    • 13.7: Finding Objects
    • 13.8: Selecting Objects with the Mouse (4)
    • 13.9: Position and Units
    • 13.10: Printer Positions
    • 13.11: Default and Factory Properties
    • 13.12: Restoring Default Properties
    • 13.13: Graphics Object Properties
    • 13.14: Animations and Movies (3)
    • 13.15: Summary
    • 13.16: Exercises
    • 13: Chapter Quiz (20)

  • Chapter 14: MATLAB Apps and Graphical User Interfaces
    • 14.1: How a Graphical User Interface Works (2)
    • 14.2: Creating and Displaying a Graphical User Interface (2)
    • 14.3: Object Properties
    • 14.4: Additional Containers: Panels, Tab Groups, and Button Groups (6)
    • 14.5: Dialog Boxes (1)
    • 14.6: Menus (7)
    • 14.7: Summary
    • 14.8: Exercises
    • 14: Chapter Quiz (20)


Experience the cutting-edge of MATLAB® programming with the 7th Edition of Chapman's MATLAB® Programming for Engineers! Updated to reflect MATLAB® R2022b and GUI Apps, this edition features an innovative eBook Reader with an integrated educational IDE, offering auto-graded coding assignments that enhance critical thinking and problem-solving skills. With expanded applications, new end-of-chapter exercises, plus updated equivalents Histgram, PolarPlot and Narginchk, this edition ensures students stay up to date. Enhanced discussions on MATLAB® plot types, data structures, and object-oriented programming, along with effective learning aids like "Good Programming" and "Programming Pitfall" boxes, guide students towards mastering clean, efficient programming. The first nine chapters support and provide a primary resource for today's introduction to programming and problem-solving course for first-year engineering students. The remaining chapters address more advanced topics, such as I/O, object-oriented programming and Graphical User Interfaces ensuring a valuable reference tool for engineering students or practicing engineers using MATLAB®.

Features
  • Read It links under each question quickly jump to the corresponding section of the MindTap Reader eBook.
  • [Coming Soon] Watch It links provide step-by-step instruction with short, engaging videos that are ideal for visual learners.
  • Chapter Quiz questions in each chapter encourage students to test and apply what they have learned in each chapter. These questions can serve as a quick and useful self-test to help confirm understanding of each concept.
  • A Course Pack with ready-to-use assignments built by subject matter experts specifically for this textbook is designed to save you time, and it can be easily customized to meet your teaching goals.
  • Customizable Lecture Slides, a complete Instructor Solution Manual, Image Banks (Digital image files from the text), Appendix A (UTF-8 Character Set), Errata (Corrected errors from earlier printings), and Student MATLAB® Files are available as textbook resources.
  • A WebAssign Educator Guide is included as a textbook resource to assist you in creating and maintaining your unique WebAssign course experience utilizing the resources developed specifically for this title.
Use the Textbook Edition Upgrade Tool to automatically update all of your assignments from the previous edition to corresponding questions in this textbook.

Questions Available within WebAssign

Most questions from this textbook are available in WebAssign. The online questions are identical to the textbook questions except for minor wording changes necessary for Web use. Whenever possible, variables, numbers, or words have been randomized so that each student receives a unique version of the question. This list is updated nightly.

Question Availability Color Key
BLACK questions are available now
GRAY questions are under development


Group Quantity Questions
Chapter 1: Introduction to MATLAB
1.CQ 20 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020
1.3 1 012
1.4 5 004 005 007 008 011
1.5 6 001 006 009 010 014 015
Chapter 2: MATLAB Basics
2.CQ 20 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020
2.1 2 001 002
2.2 2 003 004
2.6 1 005
2.8 3 006 008 009
2.9 1 007
2.11 1 021
2.12 16 012 013 014 015 016 017 022 023 024 025 026 027 028 029 030 031
2.13 4 011 018 019 020
2.14 1 010
Chapter 3: Two-Dimensional Plots
3.CQ 19 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019
3.2 8 001 003 006 007 010 011 012 013
3.3 3 005 014 018
3.4 1 002
3.5 3 004 008 009
3.7 7 015 016 017 019 020 021 022
Chapter 4: Branching Statements and Program Design
4.CQ 20 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020
4.3 1 001
4.4 11 002 003 004 005 006 007 008 011 012 013 014
4.7 2 009 010
Chapter 5: Loops and Vectorization
5.CQ 20 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020
5.1 2 008 024
5.2 33 001 002 003 004 005 006 007 011 012 013 014 015 017 019 020 021 022 023 025 026 027 028 029 030 032 033 034 035 036 037 038 039 040
5.3 2 009 010
5.6 1 016
5.8 2 018 031
Chapter 6: Basic User-Defined Functions
6.CQ 21 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021
6.1 1 001
6.2 17 002 003 005 006 007 008 009 010 011 012 013 014 015 038 039 040 041
6.3 1 004
6.4 20 016 017 018 019 020 021 022 023 024 025 026 029 030 031 032 033 034 035 036 037
6.6 3 027 028 036
Chapter 7: Advanced Features of User-Defined Functions
7.CQ 20 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020
7.1 2 022 026
7.2 2 014 015
7.4 17 001 002 003 005 007 010 011 012 013 017 018 019 020 021 024 027 029
7.5 3 028 031 032
7.6 4 004 006 023 030
7.7 1 025
7.9 3 008 009 016
Chapter 8: Complex Numbers and 3D Plots
8.CQ 21 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021
8.1 10 001 002 003 004 005 006 007 008 009 010
8.3 13 011 012 013 014 015 016 017 018 019 020 021 022 023
Chapter 9: Additional Data Types
9.CQ 20 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020
9.4 10 001 002 003 004 005 006 007 008 009 010
9.7 1 011
9.9 4 012 013 014 015
Chapter 10: Sparse Arrays, Cell Arrays, Structures, and Tables
10.CQ 20 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020
10.2 10 001 002 003 004 013 014 015 016 017 018
10.3 8 005 006 007 008 009 010 011 012
10.4 3 019 020 021
Chapter 11: Input/Output Functions
11.CQ 20 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020
11.3 1 001
11.5 1 010
11.6 7 002 003 004 008 009 011 012
11.8 4 005 006 007 013
11.9 1 015
Chapter 12: User-Defined Classes and Object-Oriented Programming
12.CQ 20 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020
12.5 8 001 002 003 004 005 008 009 010
12.11 1 007
12.12 1 006
Chapter 13: Handle Graphics and Animation
13.CQ 20 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020
13.1 1 001
13.4 4 002 003 005 008
13.8 4 004 006 007 013
13.13 009
13.14 3 010 011 012
Chapter 14: MATLAB Apps and Graphical User Interfaces
14.CQ 20 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020
14.1 2 002 003
14.2 2 001 004
14.4 6 006 007 008 010 011 015
14.5 1 014
14.6 7 005 009 012 013 016 017 018
Total 587 (1)