Cambridge, New York, Melbourne, Madrid, Cape Town, Singapore, São Paulo
Cambridge University Press
The Edinburgh Building, Cambridge , United Kingdom
First published in print format
- ----
- ----
- ----
© B. Hunt, R. Lipsman, J. Rosenberg, K. Coombes, J. Osborn, G. Stuck 2001
MATLAB®, Simulink®, and Handle Graphics® are registered trademarks of The
MathWorks, Inc. Microsoft®, MS-DOS®, and Windows® are registered trademarks
of Microsoft Corporation. Many other proprietary names used in this book are
registered trademarks.
Portions of this book were adapted from “Differential Equations with MATLAB” by
Kevin R. Coombes, Brian R. Hunt, Ronald L. Lipsman, John E. Osborn, and Garrett J.
Stuck, copyright © 2000, John Wiley & Sons, Inc. Adapted by permission of John
Wiley & Sons, Inc.
2001
Information on this title: www.cambrid
g
e.or
g
/9780521803809
This book is in copyright. Subject to statutory exception and to the provision of
relevant collective licensing agreements, no reproduction of any part may take place
without the written permission of Cambridge University Press.
- ---
- ---
- ---
Cambridge University Press has no responsibility for the persistence or accuracy of
s for external or third-party internet websites referred to in this book, and does not
guarantee that any content on such websites is, or will remain, accurate or appropriate.
Published in the United States of America by Cambridge University Press, New York
www.cambridge.org
hardback
p
a
p
erback
p
a
p
erback
eBook (NetLibrary)
eBook (NetLibrary)
hardback
Contents at a Glance
Preface page xiii
1 Getting Started
1
2 MATLAB Basics 8
3 Interacting with MATLAB 31
Practice Set A: Algebra and Arithmetic 48
4 Beyond the Basics 50
5 MATLAB Graphics 67
Practice Set B: Calculus, Graphics, and Linear Algebra 86
6 M-Books 91
7 MATLAB Programming 101
8 SIMULINK and GUIs 121
9 Applications 136
Practice Set C: Developing Your MATLAB Skills
204
10 MATLAB and the Internet 214
11 Troubleshooting 218
Solutions to the Practice Sets 235
Glossary 299
Index 317
v
Contents
Preface page xiii
1 Getting Started 1
Platforms and Versions 1
Installation and Location 2
Starting MATLAB 2
Typing in the Command Window 3
Online Help 4
Interrupting Calculations 5
MATLAB Windows 6
Ending a Session 7
2 MATLAB Basics 8
Input and Output 8
Arithmetic 8
Algebra 10
Symbolic Expressions, Variable Precision, and Exact
Arithmetic 11
Managing Variables 13
Errors in Input 14
Online Help 15
Variables and Assignments 16
Solving Equations 17
Vectors and Matrices 20
Vectors 21
Matrices 23
Suppressing Output 24
Functions 24
vii
viii
Contents
Built-in Functions 24
User-Defined Functions 25
Graphics 26
Graphing with
ezplot 26
Modifying Graphs 27
Graphing with
plot 28
Plotting Multiple Curves 30
3 Interacting with MATLAB 31
The MATLAB Interface 31
The Desktop 31
Menu and Tool Bars 33
The Workspace 33
The Working Directory 34
Using the Command Window 35
M-Files 36
Script M-Files 37
Function M-Files 39
Loops 41
Presenting Your Results 41
Diary Files 42
Presenting Graphics 43
Pretty Printing 45
A General Procedure 45
Fine-Tuning Your M-Files 46
Practice Set A: Algebra and Arithmetic 48
4 Beyond the Basics 50
Suppressing Output 50
Data Classes 51
String Manipulation 53
Symbolic and Floating Point Numbers 53
Functions and Expressions 54
Substitution 56
More about M-Files 56
Variables in Script M-Files 56
Variables in Function M-Files 57
Structure of Function M-Files 57
Contents
ix
Complex Arithmetic 58
More on Matrices 59
Solving Linear Systems 60
Calculating Eigenvalues and Eigenvectors 60
Doing Calculus with MATLAB 61
Differentiation 61
Integration 62
Limits 63
Sums and Products 64
Taylor Series 65
Default Variables 65
5 MATLAB Graphics 67
Two-Dimensional Plots 67
Parametric Plots 67
Contour Plots and Implicit Plots 69
Field Plots 71
Three-Dimensional Plots 72
Curves in Three-Dimensional Space 72
Surfaces in Three-Dimensional Space 73
Special Effects 75
Combining Figures in One Window 76
Animations 77
Customizing and Manipulating Graphics 78
Change of Viewpoint 80
Change of Plot Style 80
Full-Fledged Customization 82
Quick Plot Editing in the Figure Window 84
Sound 85
Practice Set B: Calculus, Graphics, and Linear Algebra 86
6 M-Books 91
Enabling M-Books 92
Starting M-Books 93
Working with M-Books 95
Editing Input 95
The Notebook Menu 96
x
Contents
M-Book Graphics 97
More Hints for Effective Use of M-Books 98
A Warning 99
7 MATLAB Programming 101
Branching 101
Branching with
if 102
Logical Expressions 104
Branching with
switch 108
More about Loops 109
Open-Ended Loops 110
Breaking from a Loop 111
Other Programming Commands 112
Subfunctions 112
Commands for Parsing Input and Output 112
User Input and Screen Output 114
Evaluation 116
Debugging 117
Interacting with the Operating System 118
Calling External Programs 118
File Input and Output 119
8
SIMULINK and GUIs 121
SIMULINK 121
Graphical User Interfaces (GUIs) 127
GUI Layout and GUIDE 127
Saving and Running a GUI 130
GUI Callback Functions 132
9 Applications 136
Illuminating a Room 137
One 300-Watt Bulb 137
Two 150-Watt Bulbs 138
Three 100-Watt Bulbs 143
Mortgage Payments 145
Monte Carlo Simulation 149
Population Dynamics 156
Exponential Growth and Decay 157
Contents
xi
Logistic Growth 159
Rerunning the Model with SIMULINK 166
Linear Economic Models 168
Linear Programming 173
The 360
◦
Pendulum 180
Numerical Solution of the Heat Equation 184
A Finite Difference Solution 185
The Case of Variable Conductivity 189
A SIMULINK Solution 191
Solution with
pdepe 194
A Model of Traffic Flow 196
Practice Set C: Developing Your MATLAB Skills
204
10 MATLAB and the Internet 214
MATLAB Help on the Internet 214
Posting MATLAB Programs and Output 215
M-Files, M-Books, Reports, and HTML Files 215
Configuring Your Web Browser 216
Microsoft Internet Explorer 216
Netscape Navigator 216
11 Troubleshooting 218
Common Problems 218
Wrong or Unexpected Output 218
Syntax Error 220
Spelling Error 223
Error Messages When Plotting 223
A Previously Saved M-File Evaluates Differently 224
Computer Won’t Respond 226
The Most Common Mistakes 226
Debugging Techniques 227
Solutions to the Practice Sets 235
Practice Set A 235
Practice Set B 246
Practice Set C 266
xii
Contents
Glossary 299
MATLAB Operators 300
Built-in Constants 301
Built-in Functions 302
MATLAB Commands 303
Graphics Commands 309
MATLAB Programming 313
Index 317
indicates an advanced chapter or section that can be skipped on a first reading.
Preface
MATLAB is an integrated technical computing environment that combines
numeric computation, advanced graphics and visualization, and a high-
level programming language.
– www.mathworks.com/products/matlab
That statement encapsulates the view of The MathWorks, Inc., the developer of
MATLAB
. MATLAB 6 is an ambitious program. It contains hundreds of com-
mands to do mathematics. You can use it to graph functions, solve equations,
perform statistical tests, and do much more. It is a high-level programming
language that can communicate with its cousins, e.g., FORTRAN and C. You
can produce sound and animate graphics. You can do simulations and mod-
eling (especially if you have access not just to basic MATLAB but also to its
accessory SIMULINK
). You can prepare materials for export to the World
Wide Web. In addition, you can use MATLAB, in conjunction with the word
processing and desktop publishing features of Microsoft Word
, to combine
mathematical computations with text and graphics to produce a polished, in-
tegrated, and interactive document.
A program this sophisticated contains many features and options. There
are literally hundreds of useful commands at your disposal. The MATLAB
help documentation contains thousands of entries. The standard references,
whether the MathWorks User’s Guide for the product, or any of our com-
petitors, contain myriad tables describing an endless stream of commands,
options, and features that the user might be expected to learn or access.
MATLAB is more than a fancy calculator; it is an extremely useful and
versatile tool. Even if you only know a little about MATLAB, you can use it
to accomplish wonderful things. The hard part, however, is figuring out which
of the hundreds of commands, scores of help pages, and thousands of items of
documentation you need to look at to start using it quickly and effectively.
That’s where we come in.
xiii
Không có nhận xét nào:
Đăng nhận xét