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