Mastering MATLAB 6
A Comprehensive Tutorial and Reference

by Duane Hanselman and Bruce Littlefield

Preface
  1. Getting Started
    1. Introduction
    2. Typographical Conventions
    3. What's New in Matlab 6
    4. What's in Mastering Matlab 6
  2. Basic Features
    1. Simple Math
    2. The Matlab Workspace
    3. About Variables
    4. Comments, Punctuation, and Aborting Execution
    5. Complex Numbers
    6. Floating-Point Arithmetic
    7. Mathematical Functions
  3. The Matlab Desktop
    1. Matlab Windows
    2. Managing the Matlab Workspace
    3. Memory Management
    4. Number Display Formats
    5. Keeping a Session Log
    6. System Information
    7. The Matlab Search Path
  4. Script M-Files
    1. Script M-file Use
    2. Startup and Finish
  5. Arrays and Array Operations
    1. Simple Arrays
    2. Array Addressing or Indexing
    3. Array Construction
    4. Array Orientation
    5. Scalar-Array Mathematics
    6. Array-Array Mathematics
    7. Standard Arrays
    8. Array Manipulation
    9. Array Sorting
    10. Subarray Searching
    11. Array Manipulation Functions
    12. Array Size
    13. Arrays and Memory Utilization
  6. Multidimensional Arrays
    1. Array Construction
    2. Array Mathematics and Manipulation
    3. Array Size
  7. Cell Arrays and Structures
    1. Cell Array Creation
    2. Cell Array Manipulation
    3. Retrieving Cell Array Contents
    4. Comma-Separated Lists
    5. Cell Functions
    6. Cell Arrays of Strings
    7. Structure Creation
    8. Structure Manipulation
    9. Retrieving Structure Content
    10. Comma-Separated Lists (Again)
    11. Structure Functions
  8. Character Strings
    1. String Construction
    2. Numbers to Strings to Numbers
    3. String Evaluation
    4. String Functions
    5. Cell Arrays of Strings
  9. Relational and Logical Operations
    1. Relational Operators
    2. Logical Operators
    3. Operator Precedence
    4. Relational and Logical Functions
    5. NaNs and Empty Arrays
  10. Control Flow
    1. For Loops
    2. While Loops
    3. If-Else-End Constructions
    4. Switch-Case Constructions
    5. Try-Catch Blocks
  11. Function M-files
    1. M-file Construction Rules
    2. Input and Output Arguments
    3. Function Workspaces
    4. Functions and the Matlab Search Path
    5. Creating Your Own Toolbox
    6. Command-Function Duality
    7. Function Evaluation Using feval
  12. M-file Debugging and Profiling
    1. Debugging Tools
    2. File Dependencies
    3. Profiling M-files
  13. File and Directory Management
    1. Native Data Files
    2. Data Import and Export
    3. Low-Level File I/O
    4. Directory Management
  14. Set, Bit, and Base Functions
    1. Set Functions
    2. Bit Functions
    3. Base Conversions
  15. Time Computations
    1. Current Date and Time
    2. Date Format Conversions
    3. Date Functions
    4. Timing Functions
    5. Plot Labels
  16. Matrix Algebra
    1. Sets of Linear Equations
    2. Matrix Functions
    3. Special Matrices
    4. Sparse Matrices
    5. Sparse Matrix Functions
  17. Data Analysis
    1. Basic Statistical Analysis
    2. Basic Data Analysis
    3. Data Analysis and Statistical Functions
  18. Data Interpolation
    1. One-Dimensional Interpolation
    2. Two-Dimensional Interpolation
    3. Triangulation and Scattered Data
    4. Summary
  19. Polynomials
    1. Roots
    2. Multiplication
    3. Addition
    4. Division
    5. Derivatives and Integrals
    6. Evaluation
    7. Rational Polynomials
    8. Curve Fitting
  20. Cubic Splines
    1. Basic Features
    2. Piecewise Polynomials
    3. Cubic Hermite Polynomials
    4. Integration
    5. Differentiation
    6. Spline Interpolation on a Plane
  21. Fourier Analysis
    1. Discrete Fourier Transform
    2. Fourier Series
  22. Optimization
    1. Zero Finding
    2. Minimization in One Dimension
    3. Minimization in Higher Dimensions
    4. Practical Issues
  23. Integration and Differentiation
    1. Integration
    2. Differentiation
  24. Differential Equations
    1. IVP Format
    2. ODE Suite Solvers
    3. Basic Use
    4. Setting Options
    5. BVPs and PDEs
  25. Two-dimensional Graphics
    1. The plot Function
    2. Linestyles, Markers, and Colors
    3. Plot Grids, Axes Box, and Labels
    4. Customizing Plot Axes
    5. Multiple Plots
    6. Multiple Figures
    7. Subplots
    8. Interactive Plotting Tools
    9. Screen Updates
    10. Specialized 2-D Plots
    11. Easy Plotting
    12. Text Formatting
    13. Summary
  26. Three-dimensional Graphics
    1. Line Plots
    2. Scalar Functions of Two Variables
    3. Mesh Plots
    4. Surface Plots
    5. Mesh and Surface Plots of Irregular Data
    6. Changing Viewpoints
    7. Camera Control
    8. Contour Plots
    9. Specialized 3-D Plots
    10. Volume Visualization
    11. Easy Plotting
    12. Summary
  27. Using Color and Light
    1. Understanding Colormaps
    2. Using Colormaps
    3. Displaying Colormaps
    4. Creating and Altering Colormaps
    5. Using Color to Describe a Fourth Dimension
    6. Lighting Models
    7. Summary
  28. Images, Movies, and Sound
    1. Images
    2. Image Formats
    3. Image Files
    4. Movies
    5. Image Utilities
    6. Sound
    7. Summary
  29. Printing and Exporting Graphics
    1. Printing and Exporting Using Menus
    2. Command Line Printing and Exporting
    3. Printers and Export File Formats
    4. PostScript Support
    5. Choosing a Renderer
    6. Handle Graphics Properties
    7. Setting Defaults
    8. Summary
  30. Handle Graphics
    1. Objects
    2. Object Handles
    3. Object Properties
    4. get and set
    5. Finding Objects
    6. Selecting Objects with the Mouse
    7. Position and Units
    8. Default Properties
    9. Common Properties
    10. New Plots
    11. Rendering Speed
    12. Callbacks
    13. M-file Examples
    14. Summary
  31. Graphical User Interfaces
    1. What's a GUI?
    2. Who Should Create GUIs and Why?
    3. GUI Object Hierarchy
    4. Menus
    5. Menu and Submenu Creation
    6. Menu Properties
    7. Menu Appearance
    8. Contextual Menus
    9. Controls
    10. Control Properties
    11. Control Styles
    12. Control Size and Font Selection
    13. Capturing Mouse Actions
    14. The Event Queue
    15. Callback Programming
    16. M-file Examples
    17. GUIDE
    18. Summary
  32. Dialog Boxes
    1. File Selection
    2. Color Selection
    3. Font Selection
    4. M-file Dialog Boxes
    5. Summary
  33. Matlab Classes and Object-Oriented Programming
    1. Overloading
    2. Class Creation
    3. Subscripts
    4. Converter Functions
    5. Precedence, Inheritance, and Aggregation
  34. Matlab Programming Interfaces
    1. Accessing Matlab Arrays
    2. Calling C or FORTRAN from Matlab
    3. Calling Matlab from C or FORTRAN
    4. Exchanging Data with MAT-files
    5. Summary
  35. Extending Matlab with Java
    1. Java Overview
    2. Java Classes
    3. Java Objects
    4. Java Methods
    5. Object Properties
    6. Data Exchange
    7. Java Arrays
    8. Java Functions
    9. Examples
    10. Summary
  36. Windows Application Integration
    1. ActiveX: Client/Server Communication
    2. Dynamic Data Exchange
    3. Matlab Notebook
    4. Summary
  37. Getting Help
    1. Command Window Help
    2. The Help Browser
    3. Internet Resources
    4. Mastering Matlab 6 Help
    5. Summary
  38. Examples, Examples, Examples
    1. Vectorization
    2. Up-Down Sequence
    3. Vandermonde Matrix
    4. Repeated Value Creation and Counting
    5. Circular Addressing
    6. Indexing Array Segments
    7. Vector Subdivision
    8. Finding Indices
    9. Differential Sums
    10. Array Expansion
    11. Structure Manipulation
    12. Summary

Appendices
A:
Common Handle Graphics Properties
B:
Axes Object Properties
C:
Figure Object Properties
D:
Image Object Properties
E:
Light Object Properties
F:
Line Object Properties
G:
Patch Object Properties
H:
Rectangle Object Properties
I:
Root Object Properties
J:
Surface Object Properties
K:
Text Object Properties
L:
Uicontextmenu and Uimenu Object Properties
M:
Uicontrol Object Properties

Index