Request for consultation
Emphasizing problem-solving skills throughout, this fifth edition of Chapman's highly successful book teaches MATLAB as a technical programming language, showing students how to write clean, efficient, and well-documented programs, while introducing them to many of the practical functions of MATLAB. The first eight chapters are designed to serve as the text for an "Introduction to Programming / Problem Solving" course for first-year engineering students. The remaining chapters, which cover advanced topics such as I/O, object-oriented programming, and Graphical User Interfaces, may be covered in a longer course or used as a reference by engineering students or practicing engineers who use MATLAB.
- This edition is devoted to MATLAB R2014b (released October 2014), the first release of MATLAB to enable the new H2 Graphics System, which produces higher quality outputs. Graphic components are now MATLAB objects with handles returning properties.
- Branches and Loops each have a chapter to themselves.
- The discussion of functions is split over two chapters to help students to absorb the material in more bite-sized chunks.
- A new Chapter 3 is dedicated to 2D plots, collecting all of the plotting information in a single place.
- Chapter 8 has more extensive coverage of 3D plots, and Chapter 13 now has a section devoted to animations.
- Chapter 12 is a completely new discussion of MATLAB classes and object-oriented programming.
- Chapter 13 has been rewritten to cover the new H2 handle graphics, where handles are now MATLAB objects instead of numbers. The full-color insert has been expanded to offer students more examples.
- MATLAB tools are covered to make programming easier including the Editor/Debugger, Workspace Browser, Help Browser, and GUI design tools.
- "Good Programming" boxes highlight good programming practices when they are introduced.
- "Programming Pitfall" boxes highlight common errors so they can be avoided.
- An emphasis on Data Structures and Object-Oriented MATLAB is included.
- Student learning aids include quizzes, end-of-chapter summaries, and questions (with answers) for self-testing.
- The source code for all examples in the book and instructor's source code for all solutions are provided on the book's website.
- Good programming practices, such as top-down design, emphasize the importance of first clearly defining the problem to be solved, as well as the required inputs and outputs.
- Coverage of the use of functions to decompose tasks into smaller subtasks, data hiding, unit testing, and how to avoid common mistakes helps readers maximize their effective use of MATLAB.
The Advantages of MATLAB. Disadvantages of MATLAB. The MATLAB Environment. Using MATLAB as a Calculator.
2. MATLAB BASICS.
Variables and Arrays. Creating and Initializing Variables in MATLAB. Multidimensional Arrays. Subarrays. Special Values. Displaying Output Data. Data Files. Scalar and Array Operations. Hierarchy of Operations. Built-in MATLAB Functions. Introduction to Plotting. Examples. Debugging MATLAB Programs.
3. TWO-DIMENSIONAL PLOTS.
Additional Plotting Features for Two-Dimensional Plots. Polar Plots. Annotating and Saving Plots. Additional Types of Two-Dimensional Plots. Using the Plot Function with Two-Dimensional Arrays.
4. BRANCHING STATEMENTS AND PROGRAM DESIGN.
Introduction to Top-Down Design Techniques. Use of Pseudocode. The Logical Data Type. Branches. More on Debugging MATLAB Programs.
5. LOOPS AND VECTORIZATION.
The While Loop. The For Loop. Logical Arrays and Vectorization. The MATLAB Profiler. Additional Examples. The textread Function.
6. BASIC USER-DEFINED FUNCTIONS.
Introduction to MATLAB Functions. Variable Passing in MATLAB: The Pass-By-Value Scheme. Optional Arguments. Sharing Data Using Global Memory. Preserving Data Between Calls to a Function. Built-in MATLAB Functions: Sorting Functions. Built-in MATLAB Functions: Random Number Functions.
7. ADVANCED FEATURES OF USER-DEFINED FUNCTIONS.
Function Functions. Local Functions, Private Functions, and Nested Functions. Function Handles. Anonymous Functions. Recursive Functions. Plotting Functions. Histograms.
8. COMPLEX NUMBERS AND 3D PLOTS.
Complex Data. Multidimensional Arrays. Three-Dimensional Plots.
9. ADDITIONAL DATA TYPES.
Strings and String Functions. The Single Data Type. Integer Data Types. Limitations of the Single and Integer Data Types.
10. SPARSE ARRAYS, CELL ARRAYS, AND STRUCTURES.
Sparse Arrays. Cell Arrays. Structure Arrays.
11. INPUT/OUTPUT FUNCTIONS.
The textread Function. More about the Load and Save Commands. An Introduction to MATLAB File Processing. File Opening and Closing. Binary I/O Functions. Formatted I/O Functions. Comparing Formatted and Binary I/O Functions. File Positioning and Status Functions. The textscan Function. Function uiimport.
12. USER-DEFINED CLASSES AND OBJECT-ORIENTED PROGRAMMING.
13. HANDLE GRAPHICS AND ANIMATION.
Handle Graphics. The MATLAB Graphics System. Object Handles. Examining and Changing Object Properties. Using Set to List Possible Property Values. User-Defined Data. Finding Objects. Selecting Objects with the Mouse. Position and Units. Printer Positions. Default and Factory Properties. Graphics Object Properties. Animations and Movies.
14. GRAPHICAL USER INTERFACES.
How a Graphical User Interface Works. Creating and Displaying a Graphical User Interface. Object Properties. Graphical User Interface Components. Additional Containers: Panels and Button Groups. Dialog Boxes. Menus. Tips for Creating Efficient GUIs.
APPENDIX A: UTF-8 CHARACTER SET.
APPENDIX B: ANSWERS TO QUIZZES.
"The big challenge in teaching this course is that once students get beyond the basics of the programming syntax, they have difficulty in approaching and solving more difficult problems. The author does a good job of both explaining and showing how to do just that."
"I am currently using this textbook, because of its simplistic and easy to digest nature for students to understand."
"I especially like the emphasis on top-down program design and the use of functions to decompose problem into sub-problems."
Cengage provides a range of supplements that are updated in coordination with the main title selection. For more information about these supplements, contact your Learning Consultant.
Instructor's Solutions Manual
Complimentary to faculty who adopt the text, the Instructor's Solutions Manual contains solutions to all the problems in the main text. Available in print and electronic formats.
Instructor's Companion Website
The password-protected Companion Site contains free helpful instructor-only resources, including a customizable set of PowerPoint Slides for classroom use with figures, tables, and examples from the textbook, as well as a set of PowerPoint Slides containing Lecture Notes for instructors. The Instructor's Solutions Manual and MATLAB code for all examples and solutions are also available for download from this secure website.