Essential MATLAB for Engineers and Scientists, Third Edition, is an essential guide to MATLAB as a problem-solving tool. It presents MATLAB both as a mathematical tool and a programming language, giving a concise and easy-to-master introduction to its potential and power.
Stressing the importance of a structured approach to problem solving, the text provides a step-by-step method for program design and algorithm development. It includes numerous simple exercises for hands-on learning, a chapter on algorithm development and program design, and a concise introduction to useful topics for solving problems in later engineering and science courses: vectors as arrays, arrays of characters, GUIs, advanced graphics, and simulation and numerical methods.
The text is ideal for undergraduates in engineering and science taking a course on Matlab.
- Numerous simple exercises give hands-on learning
- A chapter on algorithm development and program design
- Common errors and pitfalls highlighted
- Concise introduction to useful topics for solving problems in later engineering and science courses: vectors as arrays, arrays of characters, GUIs, advanced graphics, simulation and numerical methods
- A new chapter on dynamical systems shows how a structured approach is used to solve more complex problems.
- Text and graphics in four colour
Undergraduates in engineering and science taking a course on Matlab
Preface to the 3rd edition
PART 1 ESSENTIALS
Introduction 1.1 Using MATLAB 1.2 The MATLAB desktop 1.3 Sample program
MATLAB Fundamentals 2.1 Variables and the workspace 2.2 Arrays: vectors and matrices 2.3 Vertical motion under gravity 2.4 Operators, expressions and statements 2.5 Output 2.6 Repeating with for 2.7 Decisions 2.8 Complex numbers 2.9 More on input and output 2.10 Odds 'n ends 2.11 Programming style
Program Design and Algorithm Development 3.1 Computer program design process 3.2 Other examples of structure plans 3.3 Structured programming with functions
MATLAB Functions & Data 4.1 Some common functions 4.2 Importing and exporting data
Logical Vectors 5.1 Examples 5.2 Logical operators 5.3 Subscripting with logical vectors 5.4 Logical functions 5.5 Logical vectors instead of elseif ladders
Matrices of Numbers & Arrays of Strings 6.1 Matrices 6.2 Matrix operations 6.3 Other matrix functions 6.4 Strings 6.5 Two-dimensional strings 6.6 eval and text macros
Introduction to Graphics 7.1 Basic 2-D graphs 7.2 3-D plots
Loops 8.1 Determinate repetition with for 8.2 Indeterminate repetition with while
Errors and Pitfalls 9.1 Syntax errors 9.2 Pitfalls and Surprises 9.3 Errors in logic 9.4 Rounding error 9.5 Trapping and generating errors
Function M-Files 10.1 Some examples 10.2 Basic rules 10.3 Function handles 10.4 Command/function duality 10.5 Function name resolution 10.6 Debugging M-files 10.7 Recursion
Vectors as Arrays & Advanced Data Structures 11.1 Update processes 11.2 Frequencies, bar charts and histograms 11.3 Sorting 11.4 Structures 11.5 Cell arrays 11.6 *Classes and objects
More Graphics 12.1 Handle Graphics 12.2 Editing plots 12.3 Animation 12.4 Colour etc 12.5 Lighting and camera 12.6 Saving, printing and exporting graphs
Graphical User Interfaces (GUIs) 13.1 Basic structure of a GUI 13.2 A first example: getting the time 13.3 Newton again 13.4 Axes on a GUI 13.5 Adding colour to a button
Part 2 APPLICATIONS
Dynamical Systems 14.1 Cantilever beam 14.2 Electric current 14.3 Free fall 14.4 Projectile with friction
Simulation 15.1 Random number generation 15.2 Spinning coins 15.3 Rollig dice 15.4 Bacteria division 15.5 A random walk 15.6 Traffic flow 15.7 Normal (Gaussian) random numbers
More Matrices 16.1 Leslie matrices: population growth 16.2 Markov processes 16.3 Linear equations 16.4 Sparse matrices
Introduction to Numerical Methods 17.1 Equations 17.2 Integration 17.3 Numerical differentiation 17.4 First-order differential equations 17.5 Linear ordinary differential equations (LODEs) 17.6 Runge-Kutta methods 17.7 A partial differential equation 17.8 Other numerical methods
Appendix A: Syntax quick reference Expressions Function M-Files Graphics if and switch for and while Input/output load/save Vectors and matrices
Appendix B: Operators
Appendix C: Command and functionquick reference General purpose commands Logical functions Language constructs and debugging Matrices and matrix manipulation Mathematical functions Matrix functions Data Analysis Polynomial functions Function functions Sparse matrix functions Character string functions File I/O functions Graphics
Appendix D: ASCII Character Codes
Appendix E: Solutions to Selected Exercises
- No. of pages:
- © Newnes 2007
- 29th January 2007
- eBook ISBN:
Brian Hahn was a professor in the Department of Mathematics and Applied Mathematics at the University of Cape Town. In his career, Brian wrote more than 10 books for teaching programming languages to beginners.
Department of Mathematics and Applied Mathematics, University of Cape Town, South Africa
Daniel Valentine is a Professor of Mechanical and Aeronautical Engineering at Clarkson University and Affiliate Director of the Clarkson Space Grant Program which is part of the New York NASA Space Grant Consortium. This program has provided support for undergraduate research appointments, and for graduate students. He is currently investigating the nonlinear dynamics of two-dimensional, Navier-Stokes flows as part of his work on the development of computational methods to solve fluid dynamics problems. He is also working on the flow-structure interaction of long-span bridges, unsteady hydrodynamics and offshore renewable energy. Other activities include investigations to develop a computational method to predict the effect of a marine propulsor on wave resistance of ships, to examine the effect of density stratification on rotating flows, to develop computational tools to predict the time-averaged properties of high-Reynolds number flows among other fluid mechanics problems.
Dept of Mechanical and Aeronautical Engineering, Clarkson University, Potsdam, NY, USA
"This has proved an excellent book for engineering undergraduate students to support their first studies in Matlab. Most of the basics are covered well, and it includes a useful introduction to the development of a Graphical User Interface." - Mr. Kenneth Rotter, Course Director, BSc Computer Aided Engineering, London South Bank University "...is a very useful book to function as a further level of instructions for scientific and engineering Matlab users. It is full of practical examples with explanations, and they are easy to understand. The topics cover many typical numerical and graphic handling techniques for better mastering the Matlab package." - Dr. William Wang, Senior Lecturer in Engineering, University of Sussex