MATLAB Programming for Engineers / Edition 4

Paperback (Print)
Rent from
(Save 75%)
Est. Return Date: 04/01/2015
Buy New
Buy New from
Buy Used
Buy Used from
(Save 39%)
Item is in good condition but packaging may have signs of shelf wear/aging or torn packaging.
Condition: Used – Good details
Used and New from Other Sellers
Used and New from Other Sellers
from $71.98
Usually ships in 1-2 business days
(Save 57%)
Other sellers (Paperback)
  • All (14) from $71.98   
  • New (5) from $155.32   
  • Used (9) from $71.12   


Emphasizing problem-solving skills throughout this very successful book, Stephen Chapman introduces the MATLAB language and shows how to use it to solve typical technical problems. The book teaches MATLAB as a technical programming language showing students how to write clean, efficient, and well-documented programs. It makes no pretense at being a complete description of all of MATLAB's hundreds of functions. Instead, it teaches students how to locate any desired function with MATLAB's extensive on line help facilities. Overall, students develop problem-solving skills and are equipped for future courses and careers using the power of MATLAB.

Read More Show Less

Editorial Reviews

From the Publisher
The Chapman text is fairly easily read and there are a number of concrete examples in each chapter which illustrate the programming concepts.

There are numerous tips and suggestions given in the Chapman text. It's very good at illustrating the concepts of programming especially through the use of examples which demonstrate the output from the programs.

The homework exercises are plentiful and cover a range of difficulty. I like very much that plotting is interspersed throughout the book providing a break that students can enjoy in the middle of material that can often be seen as dry. The quizzes are also great. My students use them to verify their understanding of the sections in which they appear.

The homework exercises are plentiful and cover a range of difficulty. I like very much that plotting is interspersed throughout the book providing a break that students can enjoy in the middle of material that can often be seen as dry. The quizzes are also great. My students use them to verify their understanding of the sections in which they appear.

While reviewing this book I would simply pick up the book and read it, much like you would a novel. I was surprised that it read very well. The examples were well placed and greatly helped in understanding what was being presented.

An introduction to MATLAB as a technical programing language, providing examples of good programming practices, boxed inserts on common pitfalls, and numerous practice programming exercises. Features emphasis on top-down design methodology, functions, MATLAB tools, and good programming practice. Includes a unique chapter on building graphical user interfaces using MATLAB, plus quizes and answers. For freshman engineering students. The author is affiliated with British Aerospace Australia. Annotation c. Book News, Inc., Portland, OR (
Read More Show Less

Product Details

  • ISBN-13: 9780495244493
  • Publisher: CL Engineering
  • Publication date: 11/8/2007
  • Edition description: Internatio
  • Edition number: 4
  • Pages: 567
  • Sales rank: 434,568
  • Product dimensions: 7.40 (w) x 9.10 (h) x 1.40 (d)

Meet the Author

Stephen J. Chapman received a BS in Electrical Engineering from Louisiana State University (1975), an MSE in Electrical Engineering from the University of Central Florida (1979), and pursued further graduate studies at Rice University. From 1975 to 1980, he 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. From 1980 to 1982, he was affiliated with the University of Houston, where he ran the power systems program in the College of Technology. From 1982 to 1988 and from 1991 to 1995, he 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). From 1988 to 1991, Chapman was a research engineer at Shell Development Company in Houston, Texas, where he did seismic signal processing research. He was also 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 leader 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 Association for Computing Machinery and the Institution of Engineers (Australia).

Read More Show Less

Table of Contents

1 - INTRODUCTION TO MATLAB 1.1 The Advantages of MATLAB 1.2 Disadvantages of MATLAB 1.3 The MATLAB Environment 1.3.1 The MATLAB Desktop 1.3.2 The Command Window 1.3.3 The Command History Window 1.3.4 The Start Button 1.3.5 The Edit/Debug Window 1.3.6 Figure Windows 1.3.7 Docking and Undocking Windows 1.3.8 The MATLAB Workspace 1.3.9 The Workspace Browser 1.3.10 Getting Help 1.3.11 A Few Important Commands 1.3.12 The MATLAB Search Path 1.4 Using MATLAB as a Scratchpad 1.5 Summary 1.5.1 MATLAB Summary 1.6. Exercises 2 - MATLAB BASICS 2.1 Variables and Arrays 2.2 Initializing Variables in MATLAB 2.2.1 Initializing Variables in Assignment Statements 2.2.2 Initializing with Shortcut Expressions 2.2.3 Initializing with Built-in Functions 2.2.4 Initializing Variables with Keyboard Input 2.3 Multidimensional Arrays 2.3.1 Storing Multidimensional Arrays in Memory 2.3.2 Accessing Multidimensional Arrays with One Dimension 2.4 Subarrays 2.4.1 The end Function 2.4.2 Using Subarrays on the Left-hand Side of an Assignment Statement 2.4.3 Assigning a Scalar to a Subarray 2.5 Special Values 2.6 Displaying Output Data 2.6.1 Changing the Default Format 2.6.2 The disp function 2.6.3 Formatted output with the fprintf function 2.7 Data Files 2.8 Scalar and Array Operations 2.8.1 Scalar Operations 2.8.2 Array and Matrix Operations 2.9 Hierarchy of Operations 2.10 Built-in MATLAB Functions 2.10.1 Optional Results 2.10.2 Using MATLAB Functions with Array Inputs 2.10.3 Common MATLAB Functions 2.11 Introduction to Plotting 2.11.1 Using Simple xy Plots 2.11.2 Printing a Plot 2.11.3 Exporting a Plot as a Graphical Image 2.11.4 Multiple Plots 2.11.5 Line Color, Line Style, Marker Style, and Legends 2.11.6 Logarithmic Scales 2.12 Examples 2.13 Debugging MATLAB Programs 2.14 Summary 2.14.1 Summary of Good Programming Practice 2.14.2 MATLAB Summary 2.15 Exercises 3 - BRANCHING STATEMENTS AND PROGRAM DESIGN 3.1 Introduction to Top-Down Design Techniques 3.2 Use of Pseudocode 3.3 The Logical Data Type 3.3.1 Relational Operators 3.3.2 A Caution About The == And ~= Operators 3.3.3 Logic Operators 3.3.4 Logical Functions 3.4 Branches 3.4.1 The if Construct 3.4.2 Examples Using if Constructs 3.4.3 Notes Concerning the Use of if Constructs 3.4.4 The switch Construct 3.4.5 The try / catch Construct 3.5 Additional Plotting Features 3.5.1 Controlling x- and y-axis Plotting Limits 3.5.2 Plotting Multiple Plots on the Same Axes 3.5.3 Creating Multiple Figures 3.5.4 Subplots 3.5.5 Enhanced Control of Plotted Lines 3.5.6 Enhanced Control of Text Strings 3.5.7 Polar Plots 3.5.8 Annotating and Saving Plots 3.6 More on Debugging MATLAB Programs 3.7 Summary 3.7.1 Summary of Good Programming Practice 3.7.2 MATLAB Summary 3.8 Exercises 4 - LOOPS 4.1 The while Loop 4.2 The for Loop 4.2.1 Details of Operation 4.2.2 The MATLAB Just-In-Time (JIT) Compiler 4.2.3 The break and continue Statements 4.2.4 Nesting Loops 4.3 Logical Arrays and Vectorization 4.3.1 Creating the Equivalent of if/else Constructs with Logical Arrays 4.4 Additional Examples 4.5 Summary 4.5.1 Summary of Good Programming Practice 4.5.2 MATLAB Summary 4.6 Exercises 5 - USER-DEFINED FUNCTIONS 5.1 Introduction to MATLAB Functions 5.2 Variable Passing in MATLAB: The Pass-By-Value Scheme 5.3 Optional Arguments 5.4 Sharing Data Using Global Memory 5.5 Preserving Data Between Calls to a Function 5.6 Function Functions 5.7 Subfunctions, Private Functions, and Nested Functions 5.7.1 Subfunctions 5.7.2 Private Functions 5.7.3 Nested Functions 5.7.4 Order of Function Evaluation 5.8 Summary 5.8.1 Summary of Good Programming Practice 5.8.2 MATLAB Summary 5.9 Exercises 6 - ADDITIONAL DATA TYPES AND PLOT TYPES 6.1 Complex Data 6.1.1 Complex Variables 6.1.2 Using Complex Numbers with Relational Operators 6.1.3 Complex Functions 6.1.4 Plotting Complex Data 6.2 String Functions 6.2.1 String Conversion Functions 6.2.2 Creating Two-Dimensional Character Arrays 6.2.3 Concatenating Strings 6.2.4 Comparing Strings 6.2.5 Searching / Replacing Characters within a String 6.2.6 Uppercase and Lowercase Conversion 6.2.7 Trimming Whitespace from Strings 6.2.8 Numeric-to-String Conversions 6.2.9 String-to-Numeric Conversions 6.2.10 Summary 6.3 Multidimensional Arrays 6.4 Additional Data Types 6.4.1 The single Data Type 6.4.2 Integer Data Types 6.4.3 Limitations of the single and Integer Data Types 6.5 Additional Two-Dimensional Plots 6.5.1 Additional Types of Two-Dimensional Plots 6.5.2 Plotting Functions 6.5.3 Histograms 6.6 Three-Dimensional Plots 6.6.1 Three-Dimensional Line Plots 6.6.2 Three-Dimensional Surface, Mesh, and Contour Plots 6.7 Summary 6.7.1 Summary of Good Programming Practice 6.7.2 MATLAB Summary 6.8 Exercises 7 - ADVANCED FEATURES: SPARSE ARRAYS, CELL ARRAYS, STRUCTURES, AND FUNCTION HANDLES 7.1 Sparse Arrays 7.1.1 The sparse Attribute 7.2 Cell Arrays 7.2.1 Creating Cell Arrays 7.2.2 Using Braces {} as Cell Constructors 7.2.3 Viewing the Contents of Cell Arrays 7.2.4 Extending Cell Arrays 7.2.5 Deleting Cells in Arrays 7.2.6 Using Data in Cell Arrays 7.2.7 Cell Arrays of Strings 7.2.8 The Significance of Cell Arrays 7.2.9 Summary of cell Functions 7.3 Structure Arrays 7.3.1 Creating Structure Arrays 7.3.2 Adding Fields to Structures 7.3.3 Removing Fields from Structures 7.3.4 Using Data in Structure Arrays 7.3.5 The getfield and setfield Functions 7.3.6 Dynamic Field Names 7.3.7 Using the size Function with Structure Arrays 7.3.8 Nesting Structure Arrays 7.3.9 Summary of structure Functions 7.4 Function Handles 7.4.1 Creating and Using Function Handles 7.4.2 The Significance of Function Handles 7.4.3 Function Handles and Nested Functions 7.4.4 An Example Application: Solving Ordinary Differential Equations 7.5 Summary 7.5.1 Summary of Good Programming Practice 7.5.2 MATLAB Summary 7.6 Exercises 8 - INPUT / OUTPUT FUNCTIONS 8.1 The textread Function 8.2 More about the load and save Commands 8.3 An Introduction to MATLAB File Processing 8.4 File Opening and Closing 8.4.1 The fopen Function 8.4.2 The fclose Function 8.5 Binary I/O Functions 8.5.1 The fwrite Function 8.5.2 The fread Function 8.6 Formatted I/O Functions 8.6.1 The fprintf Function 8.6.2 Understanding Format Conversion Specifiers 8.6.3 How Format Strings are Used 8.6.4 The sprintf Function 8.6.5 The fscanf Function 8.6.6 The fgetl Function 8.6.7 The fgets Function 8.7 Comparing Formatted and Binary I/O Functions 8.8 File Positioning and Status Functions 8.8.1 The exist Function 8.8.2 The ferror Function 8.8.3 The feof Function 8.8.4 The ftell Function 8.8.5 The frewind Function 8.8.6 The fseek Function 8.9 The textscan Function 8.10 Function uiimport 8.11 Summary 8.11.1 Summary of Good Programming Practice 8.11.2 MATLAB Summary 8.12 Exercises 9 - HANDLE GRAPHICS 9.1 The MATLAB Graphics System 9.2 Object Handles 9.3 Examining and Changing Object Properties 9.3.1 Changing Object Properties at Creation Time 9.3.2 Changing Object Properties after Creation Time 9.4 Using set to List Possible Property Values 9.5 User-Defined Data 9.6 Finding Objects 9.7 Selecting Objects with the Mouse 9.8 Position and Units 9.8.1 Positions of figure Objects 9.8.2 Positions of axes and uicontrol Objects 9.8.3 Positions of text Objects 9.9 Printer Positions 9.10 Default and Factory Properties 9.11 Graphics Object Properties 9.12 Summary 9.12.1 Summary of Good Programming Practice 9.12.2 MATLAB Summary 9.13 Exercises 10 - GRAPHICAL USER INTERFACES 10.1 How a Graphical User Interface Works 10.2 Creating and Displaying a Graphical User Interface 10.2.1 A Look Under the Hood 10.2.2 The Structure of a Callback Subfunction 10.2.3 Adding Appication Data to a Figure 10.2.4 A Few Useful Functions 10.3 Object Properties 10.4 Graphical User Interface Components 10.4.1 Static Text Fields 10.4.2 Edit Boxes 10.4.3 Pushbuttons 10.4.4 Toggle Buttons 10.4.5 Checkboxes and Radio Buttons 10.4.6 Popup Menus 10.4.7 List Boxes 10.4.8 Sliders 10.5 Additional Containers: Panels and Button Groups 10.5.1 Panels 10.5.2 Button Groups 10.6 Dialog Boxes 10.6.1 Error and Warning Dialog Boxes 10.6.2 Input Dialog Boxes 10.6.3 The uigetfile, uisetfile and uigetdir Dialog Boxes 10.6.4 The uisetcolor and uisetfont Dialog Boxes 10.7 Menus 10.7.1 Suppressing the Default Menu 10.7.2 Creating Your Own Menus 10.7.3 Accelerator Keys and Keyboard Mnemonics 10.7.4 Creating Context Menus 10.8 Tips for Creating Efficient GUIs 10.8.1 Tool Tips 10.8.2 Pcode 10.8.3 Toolbars 10.8.4 Additional Enhancements 10.9 Summary 10.9.1 Summary of Good Programming Practice 10.9.2 MATLAB Summary 10.10 Exercises 11 - THE MATLAB COMPILER 11.1 Setting Up the MATLAB Compiler 11.2 Setting Up Computers that run Compiled Applications 11.3 Using the MATLAB Compiler 11.3.1 A Simple Example 11.3.2 Additional Details 11.3.3 The Deployment Tool 11.4 Summary 11.4.1 Summary of Good Programming Practice 11.4.2 MATLAB Summary 11.5 Exercises A ASCII Character Set B Answers to Quizzes

Read More Show Less

Customer Reviews

Average Rating 5
( 1 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation


  • - By submitting a review, you grant to Barnes & and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Terms of Use.
  • - Barnes & reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously
Sort by: Showing 1 Customer Reviews
  • Anonymous

    Posted September 15, 2012

    No text was provided for this review.

Sort by: Showing 1 Customer Reviews

If you find inappropriate content, please report it to Barnes & Noble
Why is this product inappropriate?
Comments (optional)