CHAPTER 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 Und0cking 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 Scratch Pad
1.5 Summary
1.5.1 MATLAB Summary
1.6 Exercises
CHAPTER 2 MATLAB Basics
2.1 Variables and Arrays
2.2 Creating and Initializing Variables in MATLAB
2.2.1 Initializing Variables in Assignment Statements
2.2.2 Initializing with Shortcut Expressio
2.2.3 Initializing with Built-In Functio
2.2.4 Initializing Variables with Keyboard Input
2.3 Multidimeional Arrays
2.3.1 Storing Multidimeional Arrays in Memory
2.3.2 Accessing Multidimeional Arrays with One Dimeion
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 fprint f Function
2.7 Data Files
2.8 Scalar and Array Operatio
2.8.1 Scalar Operatio
2.8.2 Array and Matrix Operatio
2.9 Hierarchy of Operatio
2.10 Built-in MATLAB Functio
2.10.1 Optional Results
2.10.2 Using MATLAB Functio with Array Inputs
2.10.3 Common MATLAB Functio
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 Graphic 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
CHAPTER 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 Operato
3.3.2 A Caution About the ==and = Operato
3.3.3 Logic Operato
3.3.4 Logical Functio
3.4 Branches
3.4.1 The,if Cotruct
3.4.2 Examples Us.ing if.Cotructs
3.4.3 Notes Concerning the Use of if Cotructs
3.4.4 The switch Cotruct
3.4.5 The try/catch Cotruc!
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.514 Subplots
3.5.5 Enhanced Control of Plotted Lines
3.5.6 Enhanced Control of TextStrings
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
CHAPTER 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 Cotructs with Logical Arrays
4.4 The MATLAB Profiler
4.5 Additional Examples
4.6 Summary
4.6.1 Summary of Good Programming Practice
4.6.2 MATLAB Summary
4.7 Exercises
CHAPTER 5 User-Defined Functio
5.1 Introduction to MATLAB Functio
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 Functio
5.7 Subfunctio, Private Functio, and Nested Functio
5.7.1 Subfunctio
5.7.2 Private Functio
5.7.3 Nested Functio
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
CHAPTER 6 Additional Data Types and Plot Types
6.1 Complex Data
6.1.1 Complex Variables
6.1.2 Using Complex Numbe with Relational Operato
6.1.3 Complex Functio
6.1.4 Plotting Complex Data
6.2 String Functio
6.2.1 String Conveion Functio
6.2.2 Creating Two-Dimeional Character Arrays
6.2.3 Concatenating Strings
6.2.4 Comparing Strings
6.2.5 Searching and Replacing Characte within a String
6.2.6 Uppercase and Lowercase Conveion
6.2.7 Trimming Whitespace from Strings
6.2.8 Numeric-to-String Conveio
6.2.9 String-to-Nume.fic Conveio
6.2.10 Summary
6.3 Multidimeional Arrays
6.4 Additional Data Types
6.4.1 The single DataType
6.4.2 Integer Data Types
6.4.3 Limitatio of the s 2ngl e and Integer Data Types
6.5 Additional Two-Dimeional Plots
6.5.1 Additional Types of Two-Dimeional Plots
6.5.2 Plotting Functio
6.5.3 Histograms
6.6 Three-Dimeional Plots
6.6.1 Three-Dimeional Line Plots
6.6.2 Three-Dimeional Surface, Mesh, and Contour Plots
6.7 Summary
6.7.1 Summary of Good Programming Practice
6.7.2 MATLAB Summary
6.8 Exercises
CHAPTER 7 Advanced Features: Spae Arrays, Cell Arrays,
Structures, and Function Handles
7.1 Spae Arrays
7.1.1 The spae Attribute
7.2 Cell Arrays
7.2.1 Creating Cell Arrays
7.2.2 Using Braces { } as Cell Cotructo
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 Functio
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 Functio
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 Functio
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 Functio
7.4.4 An Example Application: Solving Ordinary Differential Equatio
7.5 Summary
7.5.1 Summary of Good Programming Practice
7.5.2 MATLAB Summary
7.6 Exercises
3HAPTER 8 Input/Output Functio
8.1 The textreadFunction
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 Functio
8.5.1 The fwrite Function
8.5.2 The fread Functiop
8.6 Formatted I/O Functio
8.6.1 The fprintf Function
8.6.2 Undetanding Format Conveion Specifie
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 Functio
8.8 File Positioning and Status Functio
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
CHAPTER 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 Positio of figure Objects
9.8.2 Positio of axes and uicontrol Objects
9.8.3 Positio of text Objects
9.9 Printer Positio
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