Master today's MATLAB® technical programming language while strengthening problem-solving skills with the help of Chapman's successful MATLAB® PROGRAMMING FOR ENGINEERS, 6th Edition. You learn how to write clean, efficient and well-documented programs as you simultaneously gain an understanding of the many practical functions of MATLAB®. You study the latest version of MATLAB® R2018a and work with new MATLAB® GUI (Graphical User Interface) Apps. The first nine chapters provide a basic introduction to programming and problem solving, while the remaining chapters address more advanced topics, such as I/O, object-oriented programming, and Graphical User Interfaces. With this comprehensive coverage, MATLAB® PROGRAMMING FOR ENGINEERS, 6th Edition serves as a trusted reference tool throughout your studies and into your professional career as you work with MATLAB®.
1. INTRODUCTION TO MATLAB.
The Advantages of MATLAB. Disadvantages of MATLAB. The MATLAB Environment. Using MATLAB as a Calculator. MATLAB Script Files. Summary. Exercises.
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. MATLAB Applications: Vector Mathematics. MATLAB Applications: Matrix Operations and Simultaneous Equations. Debugging MATLAB Programs. Summary. Exercises.
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. Plots with Two Y-Axes. Summary. Exercises.
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. Code Sections. MATLAB Applications: Roots of Polynomials. Summary. Exercises.
5. LOOPS AND VECTORIZATION.
The while Loop. The for Loop. Logical Arrays and Vectorization. The MATLAB Profiler. Additional Examples. The textread Function. MATLAB Applications: Statistical Functions. MATLAB Applications: Curve Fitting and Interpolation. Summary. Exercises.
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. Summary. Exercises.
7. ADVANCED FEATURES OF USER-DEFINED FUNCTIONS.
Function Functions. Function Handles. Functions eval and feval. Local Functions, Private Functions, and Nested Functions. An Example Application: Solving Ordinary Differential Equations. Anonymous Functions. Recursive Functions. Plotting Functions. Histograms. An Example Application: Numerical Integration. Summary. Exercises.
8. COMPLEX NUMBERS AND ADDITIONAL PLOTS.
Complex Data. Multidimensional Arrays. Gallery of MATLAB Plots. Line Plots. Discrete Data Plots. Polar Plots. Contour Plots. Surface and Mesh Plots. Pie Charts, Bar Plots, and Histograms. Color Order, Color Maps, and Color Bars. Summary. Exercises.
9. ADDITIONAL DATA TYPES.
Character Arrays versus Strings. Character Arrays and Character Functions. The string Data Type. Summary of Character Array and String Functions. The single Data Type. Integer Data Types. Limitations of the single and Integer Data Types. The datetime and duration Data Types. Summary. Exercises.
10. SPARSE ARRAYS, CELL ARRAYS, STRUCTURES, AND TABLES.
Sparse Arrays. Cell Arrays. Structure Arrays. Table Arrays. Summary. Exercises.
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. Summary. Exercises.
12. USER-DEFINED CLASSES AND OBJECT-ORIENTED PROGRAMMING.
An Introduction to Object-Oriented Programming. The Structure of a MATLAB Class. Value Classes versus Handle Classes. Destructors: The delete Method. Access Methods and Access Controls. Static Methods. Defining Class Methods in Separate Files. Overriding Operators. Events and Listeners. Exceptions. Superclasses and Subclasses. Summary. Exercises.
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. Restoring Default Properties. Graphics Object Properties. Animations and Movies. Summary. Exercises.
14. MATLAB APPS AND GRAPHICAL USER INTERFACES.
How a Graphical User Interface Works. Creating and Displaying a Graphical User Interface. Object Properties. Additional Containers: Panels, Tab Groups, and Button Groups. Dialog Boxes. Menus. Summary. Exercises.
-
Stephen J. Chapman
Stephen J. Chapman received a B.S. in Electrical Engineering from Louisiana State University and an M.S.E. in Electrical Engineering from the University of Central Florida. He pursued further graduate studies at Rice University. Mr. Chapman has served as an officer in the U.S. Navy, assigned to teach Electrical Engineering at the U.S. Naval Nuclear Power School in Orlando, Florida. He was also affiliated with the University of Houston, where he ran the power systems program in the College of Technology. In addition, he has served as a member of the technical staff of the Massachusetts Institute of Technology’s Lincoln Laboratory, both at the main facility in Lexington, Massachusetts, and at the field site on Kwajalein Atoll in the Republic of the Marshall Islands. While there, he did research in radar signal processing systems. He ultimately became the leader of four large operational range instrumentation radars at the Kwajalein field site (TRADEX, ALTAIR, ALCOR, and MMW). Mr. Chapman also served as a research engineer at Shell Development Company in Houston, Texas, where he conducted seismic signal processing research. In addition, he was affiliated with the University of Houston, where he continued to teach on a part-time basis. Mr. Chapman is currently Manager of Systems Modeling and Operational Analysis for BAE Systems Australia in Melbourne, Australia. He is the subject matter expert of a team that has developed a model of how naval ships defend themselves. This model contains more than 400,000 lines of MATLAB code written over more than a decade. Mr. Chapman is a Senior Member of the Institute of Electrical and Electronic Engineers (and several of its component societies). He is also a member of the Institution of Engineers (Australia).
-
THIS EDITION REFLECTS THE LATEST RELEASE OF MATLAB® FOR UP-TO-DATE INSTRUCTION. All content in this edition corresponds to the latest version of MATLAB® R2018a, released April 2018.
-
TIMELY NEW CONTENT HIGHLIGHTS THE NEW MATLAB® GUI APPS. Students study new MATLAB GUI apps. For your flexibility, all material on older GUIDE-based GUIs is now available as an online resource.
-
ADDITIONAL APPLICATIONS AND NEW END-OF-CHAPTER EXERCISES PROVIDE FURTHER OPPORTUNITIES TO APPLY CONCEPTS. Students find numerous and varied options for practicing skills with the contemporary applications, exercises, and problems throughout this edition.
-
NEWER EQUIVALENTS NOW REPLACE COVERAGE OF MANY OLDER MATLAB® FUNCTIONS. For instance, this edition covers histogram instead of hist. The author presents polarplot instead of polar and narginchk instead of narchk as students learn to work with the latest MATLAB® tools and commands.
-
EXPANDED DISCUSSION ADDRESSES MATLAB® PLOT TYPES. This edition's Chapter 8 now offers a much more extensive coverage of MATLAB® plot types to give students a better understanding of the options available to them.
-
EXPANDED COVERAGE OF DATA TYPES. This edition covers string and time data types, along with changes in the support of character and table arrays.
-
STEP-BY-STEP PRESENTATIONS HELP READERS MAXIMIZE EFFECTIVE USE OF MATLAB®. The author effectively covers the use of functions to decompose tasks into smaller subtasks, data hiding, and unit testing. Readers learn how to avoid common mistakes as well as maximize the tools and techniques available through MATLAB®.
-
TIMELY CONTENT THROUGHOUT THIS LEADING TEXT CONSISTENTLY ADDRESSES THE LATEST MATLAB® FEATURES. Count on your students receiving timely instruction as this edition highlights advancements from the latest MATLAB® version, including the new graphics system, the latest functions and data types, and new MATLAB® Apps.
-
THOROUGH COVERAGE OF MATLAB® TOOLS MAKE PROGRAMMING EASIER. Students examine MATLAB® tools, including the Editor/Debugger, Workspace Browser, Help Browser, and GUI design tools, as they study the principles of clean, efficient programming.
-
EFFECTIVE LEARNING FEATURES, SUCH AS "GOOD PROGRAMMING" BOXES, HIGHLIGHT STRONG PROGRAMMING SKILLS. These "Good Programming" features guide students toward developing strong habits and effective programming practices as key skills are introduced.
-
"PROGRAMMING PITFALL" BOXES HIGHLIGHT COMMON ERRORS. Learning features, such as "Programming Pitfalls," draw attention to frequent mistakes and typical erroneous assumptions so that new programmers can avoid these errors.
-
COVERAGE EMPHASIZES DATA STRUCTURES AND OBJECT-ORIENTED MATLAB®. Students learn to work with data of various types and sizes as well as to create programs using object-oriented techniques.
-
VARIETY OF PROVEN STUDENT LEARNING AIDS HELP ENSURE THOROUGH COMPREHENSION. The author includes a variety of quizzes, end-of-chapter summaries, and questions (with answers) for self-testing. These tools enable students to check their understanding as they progress.
-
The source code for all examples in the book and instructor's source code for all solutions are provided on the book's website.
-
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.
-
Chapter 3 is dedicated to 2D plots, collecting basic plotting information in a single place early in the book so that it can be applied in student exercises.
-
Chapter 8 has been expanded to include a much more extensive coverage of MATLAB plot types.
Companion Website for Chapman's MATLAB Programming for Engineers, 6th
9780357030455
Instructor's Solutions Manual for Chapman's MATLAB Programming for Engineers, 6th
9780357030431