Essential MATLAB for Engineers and Scientists.
Main Author: | |
---|---|
Other Authors: | |
Format: | eBook |
Language: | English |
Published: |
San Diego :
Elsevier Science & Technology,
2020.
|
Edition: | 7th ed. |
Subjects: | |
Online Access: | View fulltext via EzAccess |
Table of Contents:
- Front Cover
- Essential MATLAB for Engineers and Scientists
- Copyright
- Contents
- Preface
- Acknowledgments
- Part 1 Essentials
- 1 Introduction
- 1.1 Using MATLAB
- 1.1.1 Arithmetic
- 1.1.2 Variables
- 1.1.3 Mathematical functions
- 1.1.4 Functions and commands
- 1.1.5 Vectors
- 1.1.6 Linear equations
- 1.1.7 Tutorials and demos
- 1.2 The desktop
- 1.2.1 Using the Editor and running a script
- 1.2.2 Help, Publish and View
- 1.2.3 Symbolics in live scripts
- 1.2.4 APPS
- 1.2.5 Additional features
- 1.3 Sample program
- 1.3.1 Cut and paste
- 1.3.2 Saving a program: Script les
- Current directory
- Running a script from the Current Folder browser
- 1.3.3 A program in action
- Summary
- Exercises
- 1.A Supplementary material
- 2 MATLAB Fundamentals
- 2.1 Variables
- 2.1.1 Case sensitivity
- 2.2 The workspace
- 2.2.1 Adding commonly used constants to the workspace
- 2.3 Arrays: Vectors and matrices
- 2.3.1 Initializing vectors: Explicit lists
- 2.3.2 Initializing vectors: The colon operator
- 2.3.3 The linspace and logspace functions
- 2.3.4 Transposing vectors
- 2.3.5 Subscripts
- 2.3.6 Matrices
- 2.3.7 Capturing output
- 2.3.8 Structure plan
- 2.4 Vertical motion under gravity
- 2.5 Operators, expressions, and statements
- 2.5.1 Numbers
- 2.5.2 Data types
- 2.5.3 Arithmetic operators
- 2.5.4 Operator precedence
- 2.5.5 The colon operator
- 2.5.6 The transpose operator
- 2.5.7 Arithmetic operations on arrays
- 2.5.8 Expressions
- 2.5.9 Statements
- 2.5.10 Statements, commands, and functions
- 2.5.11 Formula vectorization
- 2.6 Output
- 2.6.1 The disp statement
- 2.6.2 The format command
- 2.6.3 Scale factors
- 2.7 Repeating with for
- 2.7.1 Square roots with Newton's method
- 2.7.2 Factorials!
- 2.7.3 Limit of a sequence
- 2.7.4 The basic for construct.
- 2.7.5 for in a single line
- 2.7.6 More general for
- 2.7.7 Avoid for loops by vectorizing!
- 2.8 Decisions
- 2.8.1 The one-line if statement
- 2.8.2 The if-else construct
- 2.8.3 The one-line if-else statement
- 2.8.4 elseif
- 2.8.5 Logical operators
- 2.8.6 Multiple ifs versus elseif
- 2.8.7 Nested ifs
- 2.8.8 Vectorizing ifs?
- 2.8.9 The switch statement
- 2.9 Complex numbers
- Summary
- Exercises
- 2.A Supplementary material
- 3 Program Design and Algorithm Development
- 3.1 The program design process
- 3.1.1 The projectile problem
- 3.2 Programming MATLAB functions
- 3.2.1 Inline objects: Harmonic oscillators
- 3.2.2 MATLAB function: y = f(x)
- Summary
- Exercises
- 4 MATLAB Functions and Data Import-Export Utilities
- 4.1 Common functions
- 4.2 Importing and exporting data
- 4.2.1 The load and save commands
- 4.2.2 Exporting text (ASCII) data
- 4.2.3 Importing text (ASCII) data
- 4.2.4 Exporting binary data
- 4.2.5 Importing binary data
- Summary
- Exercises
- 5 Logical Vectors
- 5.1 Examples
- 5.1.1 Discontinuous graphs
- 5.1.2 Avoiding division by zero
- 5.1.3 Avoiding in nity
- 5.1.4 Counting random numbers
- 5.1.5 Rolling dice
- 5.2 Logical operators
- 5.2.1 Operator precedence
- 5.2.2 Danger
- 5.2.3 Logical operators and vectors
- 5.3 Subscripting with logical vectors
- 5.4 Logical functions
- 5.4.1 Using any and all
- 5.5 Logical vectors instead of elseif ladders
- Summary
- Exercises
- 5.A Supplementary material
- 6 Matrices and Arrays
- 6.1 Matrices
- 6.1.1 A concrete example
- 6.1.2 Creating matrices
- 6.1.3 Subscripts
- 6.1.4 Transpose
- 6.1.5 The colon operator
- 6.1.6 Duplicating rows and columns: Tiling
- 6.1.7 Deleting rows and columns
- 6.1.8 Elementary matrices
- 6.1.9 Specialized matrices
- 6.1.10 Using MATLAB functions with matrices
- 6.1.11 Manipulating matrices.
- 6.1.12 Array (element-by-element) operations on matrices
- 6.1.13 Matrices and for
- 6.1.14 Visualization of matrices
- 6.1.15 Vectorizing nested fors: loan repayment tables
- 6.1.16 Multi-dimensional arrays
- 6.2 Matrix operations
- 6.2.1 Matrix multiplication
- 6.2.2 Matrix exponentiation
- 6.3 Other matrix functions
- 6.4 Population growth: Leslie matrices
- 6.5 Markov processes
- 6.5.1 A random walk
- 6.6 Linear equations
- 6.6.1 MATLAB's solution
- 6.6.2 The residual
- 6.6.3 Over-determined systems
- 6.6.4 Under-determined systems
- 6.6.5 Ill conditioning
- 6.6.6 Matrix division
- 6.7 Sparse matrices
- Summary
- Exercises
- 7 Function M- les
- 7.1 Example: Newton's method again
- 7.2 Basic rules
- 7.2.1 Subfunctions
- 7.2.2 Private functions
- 7.2.3 P-code les
- 7.2.4 Improving M- le performance with the Pro ler
- 7.3 Function handles
- 7.4 Command/function duality
- 7.5 Function name resolution
- 7.6 Debugging M- les
- 7.6.1 Debugging a script
- 7.6.2 Debugging a function
- 7.7 Recursion
- Summary
- Exercises
- 7.A Supplementary material
- 8 Loops
- 8.1 Determinate repetition with for
- 8.1.1 Binomial coef cient
- 8.1.2 Update processes
- 8.1.3 Nested fors
- 8.2 Indeterminate repetition with while
- 8.2.1 A guessing game
- 8.2.2 The while statement
- 8.2.3 Doubling time of an investment
- 8.2.4 Prime numbers
- 8.2.5 Projectile trajectory
- 8.2.6 break and continue
- 8.2.7 Menus
- Summary
- Exercises
- 9 MATLAB Graphics
- 9.1 Basic 2-D graphs
- 9.1.1 Labels
- 9.1.2 Multiple plots on the same axes
- 9.1.3 Line styles, markers and color
- 9.1.4 Axis limits
- axes and axis?
- 9.1.5 Multiple plots in a gure: subplot
- 9.1.6 gure, clf and cla
- 9.1.7 Graphical input
- 9.1.8 Logarithmic plots
- 9.1.9 Polar plots
- 9.1.10 Plotting rapidly changing mathematical functions: fplot.
- 9.1.11 The Property Editor
- 9.2 3-D plots
- 9.2.1 plot3
- 9.2.2 Animated 3-D plots with comet3
- 9.2.3 Mesh surfaces
- 9.2.4 Contour plots
- 9.2.5 Cropping a surface with NaNs
- 9.2.6 Visualizing vector elds
- 9.2.7 Visualization of matrices
- 9.2.8 Rotation of 3-D graphs
- 9.3 Handle Graphics
- 9.3.1 Getting handles
- 9.3.2 Graphics object properties and how to change them
- 9.3.3 A vector of handles
- 9.3.4 Graphics object creation functions
- 9.3.5 Parenting
- 9.3.6 Positioning gures
- 9.4 Editing plots
- 9.4.1 Plot edit mode
- 9.4.2 Property Editor
- 9.5 Animation
- 9.5.1 Animation with Handle Graphics
- 9.6 Color etc.
- 9.6.1 Colormaps
- 9.6.2 Color of surface plots
- 9.6.3 Truecolor
- 9.7 Lighting and camera
- 9.8 Saving, printing and exporting graphs
- 9.8.1 Saving and opening gure les
- 9.8.2 Printing a graph
- 9.8.3 Exporting a graph
- Summary
- Exercises
- 10 Vectors as Arrays and Other Data Structures
- 10.1 Update processes
- 10.1.1 Unit time steps
- 10.1.2 Non-unit time steps
- 10.1.3 Using a function
- 10.1.4 Exact solution
- 10.2 Frequencies, bar charts and histograms
- 10.2.1 A random walk
- 10.2.2 Histograms
- 10.3 Sorting
- 10.3.1 Bubble Sort
- 10.3.2 MATLAB's sort
- 10.4 Structures
- 10.5 Cell arrays
- 10.5.1 Assigning data to cell arrays
- 10.5.2 Accessing data in cell arrays
- 10.5.3 Using cell arrays
- 10.5.4 Displaying and visualizing cell arrays
- 10.6 Classes and objects
- Summary
- 11 Errors and Pitfalls
- 11.1 Syntax errors
- 11.1.1 Incompatible vector sizes
- 11.1.2 Name hiding
- 11.2 Logic errors
- 11.3 Rounding error
- Summary
- Chapter exercises
- Part 2 Applications
- 12 Dynamical Systems
- 12.1 Cantilever beam
- 12.2 Electric current
- 12.3 Free fall
- 12.4 Projectile with friction
- Summary
- Exercises
- 13 Simulation.
- 13.1 Random number generation
- 13.1.1 Seeding rand
- 13.2 Spinning coins
- 13.3 Rolling dice
- 13.4 Bacteria division
- 13.5 A random walk
- 13.6 Traf c ow
- 13.7 Normal (Gaussian) random numbers
- Summary
- Exercises
- 14 Introduction to Numerical Methods
- 14.1 Equations
- 14.1.1 Newton's method
- 14.1.1.1 Complex roots
- 14.1.2 The Bisection method
- 14.1.3 fzero
- 14.1.4 roots
- 14.2 Integration
- 14.2.1 The Trapezoidal rule
- 14.2.2 Simpson's rule
- 14.2.3 quad
- 14.3 Numerical differentiation
- 14.3.1 diff
- 14.4 First-order differential equations
- 14.4.1 Euler's method
- 14.4.2 Example: Bacteria growth
- 14.4.3 Alternative subscript notation
- 14.4.4 A predictor-corrector method
- 14.5 Linear ordinary differential equations (LODEs)
- 14.6 Runge-Kutta methods
- 14.6.1 A single differential equation
- 14.6.2 Systems of differential equations: Chaos
- 14.6.3 Passing additional parameters to an ODE solver
- 14.7 A partial differential equation
- 14.7.1 Heat conduction
- 14.8 Complex variables and conformal mapping
- Joukowski airfoil
- 14.9 Other numerical methods
- Summary
- Exercises
- 15 Signal Processing
- 15.1 Harmonic analysis
- 15.2 Fast Fourier Transform (FFT)
- 16 SIMULINK® Toolbox
- 16.1 Mass-spring-damper dynamic system
- 16.2 Bouncing ball dynamic system
- 16.3 The van der Pol oscillator
- 16.4 The Duf ng oscillator
- Exercises
- 17 Symbolics Toolbox
- 17.1 Algebra
- 17.1.1 Polynomials
- 17.1.2 Vectors
- 17.1.3 Matrices
- 17.2 Calculus
- 17.3 Laplace and Z transforms
- 17.4 Generalized functions*
- 17.5 Differential equations
- 17.6 Implementation of funtool, MuPAD and help
- 17.6.1 The funtool
- 17.6.2 The MuPAD notebook* and Symbolic help
- Exercises
- A Syntax: Quick Reference
- A.1 Expressions
- A.2 Function M- les
- A.3 Graphics
- A.4 if and switch.
- A.5 for and while.