New User Special Price Expires in

Let's log you in.

Sign in with Facebook


Don't have a StudySoup account? Create one here!


Create a StudySoup account

Be part of our community, it's free to join!

Sign up with Facebook


Create your account
By creating an account you agree to StudySoup's terms and conditions and privacy policy

Already have a StudySoup account? Login here



Math Math 015


Preview These Notes for FREE

Get a free preview of these Notes, just enter your email below.

Unlock Preview
Unlock Preview

Preview these materials now for free

Why put in your email? Get access to more of this material and other relevant free materials for your school

View Preview

About this Document

Math 015
Ben Bezejouh
Class Notes
25 ?




Popular in Math 015

Popular in Department

This 346 page Class Notes was uploaded by an elite notetaker on Monday September 19, 2016. The Class Notes belongs to Math 015 at University of Maryland taught by Ben Bezejouh in Fall 2016. Since its upload, it has received 5 views.


Reviews for Math


Report this Material


What is Karma?


Karma is the currency of StudySoup.

You can buy or earn more Karma at anytime and redeem it for class notes, study guides, flashcards, and more!

Date Created: 09/19/16
A Guide to MATLAB This book is a short, focused introduction to MATLAB, a comprehen- sive software system for mathematics and technical computing. It will be useful to bothbeginning and experienced users. It contains concise explanations of essential MATLAB commands, as well as easily under- stood instructions for using MATLAB’s programming features, graphi- cal capabilities, and desktop interface. It also includes an introduction to SIMULINK, a companion to MATLAB for system simulation. Written for MATLAB 6, this book can also be used with earlier (and later) versions of MATLAB. This book contains worked-out examples of applications of MATLAB to interesting problems in mathematics, engineering, economics, and physics. In addition, it contains explicit instructions for using MATLAB’s Microsoft Word interface to produce polished, integrated, interactive documents for reports, presentations, or online publishing. This book explains everything you need to know to begin using MATLAB to do all these things and more. Intermediate and advanced users will find useful information here, especially if they are making the switch to MATLAB 6 from an earlier version. Brian R. Hunt is an Associate Professor of Mathematics at the Univer- sity of Maryland. Professor Hunt has coauthored four books on math- ematical software and more than 30 journal articles. He is currently involved in researchon dynamical systems and fractal geometry. Ronald L. Lipsman is a Professor of Mathematics and Associate Dean of the College of Computer, Mathematical, and Physical Sciences at the University of Maryland. Professor Lipsman has coauthored five books on mathematical software and more than 70 research articles. Professor Lipsmanwastherecipientof boththeNATOandFulbrightFellowships. Jonathan M. Rosenberg is a Professor of Mathematics at the Univer- sity of Maryland. Professor Rosenberg is the author of two books on mathematics (one of them coauthored by R. Lipsman and K. Coombes) and the coeditor of Novikov Conjectures, Index Theorems, and Rigidity, a two-volume set from the London Mathematical Society Lecture Note Series (Cambridge University Press, 1995). A Guide to MATLAB for Beginners and Experienced Users Brian R. HuRonald L. LipsmJonathan M. Rosenberg with Kevin R. Coombes, John E. Osborn, and Garrett J. Stuck    Cambridge, New York, Melbourne, Madrid, Cape Town, Singapore, São Paulo Cambridge University Press The Edinburgh Building, Cambridge  , United Kingdom Published in the United States of America by Cambridge University Press, New York Information on this title: © B. Hunt, R. Lipsman, J. ,Rosenberg, K. Coombes, ,J. Osborn, G. Stuck 2001 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. First published in print format2001 - ---- eBook (NetLibrary) - --- eBook (NetLibrary) - ---- hardback - --- hardback - ---- paperback - --- paperback 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. 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. Lip,sman, John E. Osborn, ,and Garrett J. Stuck, copyright © 2000, John Wiley & Sons, Inc. Adapted by permission of John Wiley & Sons, Inc. Contents at a Glance Preface pagexiii 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 pagexiii 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 withMATLAB 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 withM-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 withthe 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 Growthand Decay 157 Contents xi Logistic Growth159 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 withpdepe 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. – That statement encapsulates the view ofThe 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 wththe 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 xiv Preface Why We Wrote This Book The goal of this book is to get you started using MATLAB successfully and quickly. We point out the parts of MATLAB you need to know without over- whelming you with details. We help you avoid the rough spots. We give you examples of real uses of MATLAB that you can refer to when you’re doing your own work. And we provide a handy reference to the most useful features of MATLAB. When you’re finished reading this book, you will be able to use MATLAB effectively. You’ll also be ready to explore more of MATLAB on your own. You might not be a MATLAB expert when you finish this book, but you will be prepared to become one — if that’s what you want. We figure you’re probably more interested in being an expert at your own specialty, whether that’s finance, physics, psychology, or engineering. You want to use MATLAB the way we do, as a tool. This book is designed to help you become a proficient MATLAB user as quickly as possible, so you can get on withte business at hand. Who Should Read This Book This book will be useful to complete novices, occasional users who want to sharpen their skills, intermediate or experienced users who want to learn about the new features of MATLAB 6 or who want to learn how to use SIMULINK, and even experts who want to find out whether we know any- thing they don’t. You can read through this guide to learn MATLAB on your own. If your employer (or your professor) has plopped you in front of a computer with MATLAB and told you to learn how to use it, then you’ll find the book par- ticularly useful. If you are teaching or taking a course in which you want to use MATLAB as a tool to explore another subject — whether in mathematics, science, engineering, business, or statistics — this book will make a perfect supplement. As mentioned, we wrote this guide for use with MATLAB 6. If you plan to continue using MATLAB 5, however, you can still profit from this book. Virtually all of the material on MATLAB commands in this book applies to bothversions. Only a small amount of material on te MATLAB interface, found mainly in Chapters 1, 3, and 8, is exclusive to MATLAB 6. Preface xv How This Book Is Organized In writing, we drew on our experience to provide important information as quickly as possible. The book contains a short, focused introduction to MATLAB. It contains practice problems (withcomplete solutions) so you can testyourknowledge.Thereareseveralilluminatingsampleprojectsthatshow you how MATLAB can be used in real-world applications, and there is an en- tire chapter on troubleshooting. The core of this book consists of about 75 pages: Chapters 1–4 and the begin- ning of Chapter 5. Read that much and you’ll have a good grasp of the funda- mentals of MATLAB. Read the rest — the remainder of the Graphics chapter as well as the chapters on M-Books, Programming, SIMULINK and GUIs, Ap- plications, MATLAB and the Internet, Troubleshooting, and the Glossary — and you’ll know enoughto do a great deal withMATLAB. Here is a detailed summary of the contents of the book. Chapter 1, Getting Started, describes how to start MATLAB on different platforms. It tells you how to enter commands, how to access online help, how to recognize the various MATLAB windows you will encounter, and how to exit the application. Chapter 2, MATLABB asics , shows you how to do elementary mathe- matics using MATLAB. This chapter contains the most essential MATLAB commands. Chapter 3, Interacting with MATLAB, contains an introduction to the MATLAB Desktop interface. This chapter will introduce you to the basic windowfeaturesoftheapplication,tothesmallprogramfiles(M-files)thatyou will use to make most effective use of the software, and to a simple method (diary files) of documenting your MATLAB sessions. After completing this chapter, you’ll have a better appreciation of the breadth described in the quote that opens this preface. Practice Set A, Algebra and Arithmetic, contains some simple problems for practicing your newly acquired MATLAB skills. Solutions are presented at the end of the book. Chapter 4, Beyond the Basics, contains an explanation of the finer points that are essential for using MATLAB effectively. Chapter 5, MATLABGraphics , contains a more detailed look at many of the MATLAB commands for producing graphics. Practice Set B, Calculus, Graphics, and Linear Algebra, gives you another chance to practice what you’ve just learned. As before, solutions are provided at the end of the book. xvi Preface Chapter 6, M-Books, contains an introduction to the word processing and desktop publishing features available when you combine MATLAB with Microsoft Word. Chapter 7, MATLABProgramming , introduces you to the programming features of MATLAB. This chapter is designed to be useful both to the novice programmer and to the experienced FORTRAN or C programmer. Chapter 8, SIMULINK and GUIs, consists of two parts. The first part de- scribes the MATLAB companion software SIMULINK, a graphically oriented package for modeling, simulating, and analyzing dynamical systems. Many of the calculations that can be done with MATLAB can be done equally well with SIMULINK. If you don’t have access to SIMULINK, skip this part of Chapter 8. The second part contains an introduction to the construction and deployment of graphical user interfaces, that is, GUIs, using MATLAB. Chapter 9, Applications, contains examples, from many different fields, of solutions of real-world problems using MATLAB and/or SIMULINK. PracticeSetC,DevelopingYourMATLABSkills,containspracticeproblems whose solutions use the methods and techniques you learned in Chapters 6–9. Chapter 10, MATLABand the Internet , gives tips on how to post MATLAB output on the Web. Chapter11, Troubleshooting,istheplacetoturnwhenanythinggoeswrong. Many common problems can be resolved by reading (and rereading) the advice in this chapter. Next, we have Solutions to the Practice Sets, which contains solutions to all the problems from the three practice sets. The Glossary contains short de- scriptions (withexamples) of many MATLAB commands and objects. Though not a complete reference, it is a handy guide to the most important features of MATLAB. Finally, there is a complete Index. Conventions Used in This Book We use distinct fonts to distinguishvarious entities. en new terms are first introduced, they are typeset in an italic font. Output from MATLAB is typeset in a monospaced typewriter font; commands that you type for interpretation by MATLAB are indicated by a boldface version of that font. These commands and responses are often displayed on separate lines as they would be in a MATLAB session, as in the following example: >> x = sqrt(2*pi + 1) x= 2.697 Preface xvii Selectable menu items (from the menu bars in the MATLAB Desktop, figure windows, etc.) are typeset in a boldface font. Submenu items are separated from menu items by a colon, as in File:Open.... Labels suchas the names of windows and buttons are quoted, in a “regular” font. File and folder names, as well as Web addresses, are printed in a typewriter font. Finally, names of keys on your computer keyboard are set in a CAPfont. We use four special symbols throughout the book. Here they are together withtheir meanings. ▯ Paragraphs like this one contain cross-references to other parts of the book or suggestions of where you can skip ahead to another chapter. ➱ Paragraphs like this one contain important notes. Our favorite is “Save your work frequently.” Pay careful attention to these paragraphs. ▯ Paragraphs like this one contain useful tips or point out features of interest in the surrounding landscape. You might not need to think carefully about them on the first reading, but they may draw your attention to some of the finer points of MATLAB if you go back to them later. Paragraphs like this discuss features of MATLAB’s Symbolic Math Toolbox, used for symbolic (as opposed to numerical) calculations. If you are not using the Symbolic Math Toolbox, you can skip these sections. Incidentally, if you are a student and you have purchased the MATLAB Student Version, then the Symbolic Math Toolbox and SIMULINK are auto- matically included withyour software, along withbasic MATLAB. Caution: The Student Edition of MATLAB, a different product, does not come with SIMULINK. About the Authors We are mathematics professors at the University of Maryland, College Park. We have used MATLAB in our research, in our mathematics courses, for pre- sentations and demonstrations, for production of graphics for books and for the Web, and even to help our kids do their homework. We hope that you’ll find MATLAB as useful as we do and that this book will help you learn to use it quickly and effectively. Finally, we would like to thank our editor, Alan Harvey, for his personal attention and helpful suggestions. Chapter 1 Getting Started In this chapter, we will introduce you to the tools you need to begin using MATLAB effectively. These include: some relevant information on computer platforms and software versions; installation and location protocols; how to launch the program, enter commands, use online help, and recover from hang- ups; a roster of MATLAB’s various windows; and finally, how to quit the soft- ware. We know you are anxious to get started using MATLAB, so we will keep this chapter brief. After you complete it, you can go immediately to Chapter 2 to find concrete and simple instructions for the use of MATLAB. We describe the MATLAB interface more elaborately in Chapter 3. Platforms and Versions It is likely that you will run MATLAB on a PC (running Windows or Linux) or on some form of UNIX operating system. (The developers of MATLAB, The MathWorks, Inc., are no longer supporting Macintosh. Earlier versions of MATLAB were available for Macintosh; if you are running one of those, you should find that our instructions for Windows platforms will suffice for your needs.) Unlike previous versions of MATLAB, version 6 looks virtually identi- cal on Windows and UNIX platforms. For definitiveness, we shall assume the reader is using a PC in a Windows environment. In those very few instances where our instructions must be tailored differently for Linux or UNIX users, we shall point it out clearly. ➱ We use the word Windows to refer to all flavors of the Windows operating system, that is, Windows 95, Windows 98, Windows 2000, Windows Millennium Edition, and Windows NT. 1 2 Chapter 1: Getting Started This book is written to be compatible with the current version of MATLAB, namelyversion6(alsoknownasRelease12).ThevastmajorityoftheMATLAB commands we describe, as well as many features of the MATLAB interface (M-files, diary files, M-books, etc.), are valid for version 5.3 (Release 11), and even earlier versions in some cases. We also note that the differences between the Professional Version and the Student Version (not the Student Edition) of MATLAB are rather minor and virtually unnoticeable to the new, or even mid-level, user. Again, in the few instances where we describe a MATLAB feature that is only available in the Professional Version, we highlight that fact clearly. Installation and Location If you intend to run MATLAB on a PC, especially the Student Version, it is quitepossiblethatyouwillhavetoinstallityourself.Youcaneasilyaccomplish this using the product CDs. Follow the installation instructions as you would withany new software you install. At some point in the installation you may be asked which toolboxes you wishto include in your installation. Unless you have severe space limitations, we suggest that you install any that seem of interest to you or that you think you might use at some point in the future. We ask only that you be sure to include the Symbolic Math Toolbox among those you install. If possible, we also encourage you to install SIMULINK, which is described in Chapter 8. Depending on your version you may also be asked whether you want to specify certain directory (i.e., folder) locations associated withMicrosoft Word. If you do, you will be able to run the M-book interface that is described in Chapter 6. If your computer has Microsoft Word, we strongly urge you to include these directory locations during installation. If you allow the default settings during installation, then MATLAB will likelybefoundinadirectorywithanamesuchas matlabR12ormatlab SR12 or MATLAB — you may have to hunt around to find it. The subdirectory bin\win32, or perhaps the subdirectory bin, will contain the executable file matlab.exe that runs the program, while the current working directory will probably be set to matlabR12\work. Starting MATLAB You start MATLAB as you would any other software application. On a PC you access it via the Start menu, in Programs under a folder suchas MatlabR12 Typing in the Command Window 3 orStudent MATLAB.Alternatively,youmayhaveaniconsetupthatenables you to start MATLAB witha simple double-click. On a UNIX mine, gen- erally you need only type matlab in a terminal window, though you may first have to find the matlab/bin directory and add it to your path. Or you may have an icon or a special button on your desktop that achieves the task. ➱ On UNIX systems, you should not attempt to run MATLAB in the background by typing matlab &. This will fail in either the current or older versions. However you start MATLAB, you will briefly see a window that displays the MATLAB logo as well as some MATLAB product information, and then a MATLABDesktop window will launch. That window will contain a title bar, a menu bar, a tool bar, and five embedded windows, two of which are hidden. The largest and most important window is the Command Window on the right. We will go into more detail in Chapter 3 on the use and manipulation of the other four windows: the Launch Pad,the Workspace browser,the Command History window, and the Current Directory browser. For now we concentrate on the Command Window to get you started issuing MATLAB commands as quickly as possible. At the top of the Command Window, you may see some general information about MATLAB, perhaps some special instructions for getting started or accessing help, but most important of all, a line that contains a prompt. The prompt will likely be a double caret (>> or ▯). If the Command Window is “active”, its title bar will be dark, and the prompt will be followed by a cursor (a vertical line or box, usually blinking). That is the place where you will enter your MATLAB commands (see Chapter 2). If the Command Window is not active, just click in it anywhere. Figure 1-1 contains an example of a newly launched MATLAB Desktop. ➱ In older versions of MATLAB, for example 5.3, there is no integrated Desktop. Only the Command Window appears when you launch the application. (On UNIX systems, the terminal window from which you invoke MATLAB becomes the Command Window.) Commands that we instruct you to enter in the Command Window inside the Desktop for version 6 can be entered directly into the Command Window in version 5.3 and older versions. Typing in the Command Window Click in the Command Window to make it active. When a window becomes active, its titlebar darkens. It is also likely that your cursor will change from 4 Chapter 1: Getting Started Figure 1-1: A MATLAB Desktop. outline form to solid, or from light to dark, or it may simply appear. Now you can begin entering commands. Try typing 1+1; then press ENTER or RETURN. Next try factor(123456789), and finally sin(10). Your MATLAB Desktop should look like Figure 1-2. Online Help MATLAB has an extensive online help mechanism. In fact, using only this book and the online help, you should be able to become quite proficient with MATLAB. You can access the online help in one of several ways. Typing help at the commandpromptwillrevealalonglistoftopicsonwhichhelpisavailable.Just to illustrate, try typing help general. Now you see a long list of “general purpose” MATLAB commands. Finally, try help solve to learn about the command solve. In every instance above, more information than your screen canholdwillscrollby.SeetheOnlineHelpsectioninChapter2forinstructions to deal withthis. Thereisamuchmoreuser-friendlywaytoaccesstheonlinehelp,namelyvia the MATLAB Help Browser. You can activate it in several ways; for example, typing either helpwin or helpdesk at the command prompt brings it up. Interrupting Calculations 5 Figure 1-2: Some Simple Commands. Alternatively, it is available through the menu bar under either View or Help. Finally, the question mark button on the tool bar will also invoke the Help Browser. We will go into more detail on its features in Chapter 2 — suffice it to say that as in any hypertext browser, you can, by clicking, browse through a host of command and interface information. Figure 1-3 depicts the MATLAB Help Browser. ➱ If you are working with MATLAB version 5.3 or earlier, then typing help, help general,or help solve at the command prompt will work as indicated above. But the entries helpwin or helpdesk call up more primitive, although still quite useful, forms of help windows than the robust Help Browser available with version 6. If you are patient, and not overly anxious to get to Chapter 2, you can type demo to try out MATLAB’s demonstration program for beginners. Interrupting Calculations If MATLAB is hung up in a calculation, or is just taking too long to perform an operation, you can usually abort it by typingL+C(that is, hold down the key labeledCTRL ,orCONTROL , and pressC). 6 Chapter 1: Getting Started Figure 1-3: The MATLAB Help Browser. MATLAB Windows We have already described the MATLAB Command Window and the Help Browser, and have mentioned in passing the Command History window, Cur- rent Directory browser, Workspace browser, and LaunchPad. These, and seve- ral other windows you will encounter as you work with MATLAB, will allow youto:controlfilesandfoldersthatyouandMATLABwillneedtoaccess;write and edit the small MATLAB programs (that is, M-files) that you will utilize to run MATLAB most effectively; keep track of the variables and functions that you define as you use MATLAB; and design graphical models to solve prob- lems and simulate processes. Some of these windows launch separately, and some are embedded in the Desktop. You can dock some of those that launch separately inside the Desktop (through the View:Dock menu button), or you can separate windows inside your MATLAB Desktop out to your computer desktop by clicking on the curved arrow in the upper right. These features are described more thoroughly in Chapter 3. For now, we want to call your attention to the other main type of window you will en- counter; namely graphics windows. Many of the commands you issue will generate graphics or pictures. These will appear in a separate window. MAT- LAB documentation refers to these as figure windows. In this book, we shall Ending a Session 7 also call them graphics windows. In Chapter 5, we will teach you how to gen- erate and manipulate MATLAB graphics windows most effectively. ▯ See Figure 2-1 in Chapter 2 for a simple example of a graphics window. ➱ Graphics windows cannot be embedded into the MATLAB Desktop. Ending a Session ThesimplestwaytoconcludeaMATLABsessionistotypequitattheprompt. You can also click on the special symbol that closes your windows (usually an × in the upper left- or right-hand corner). Either of these may or may not close all the other MATLAB windows (which we talked about in the last section) that are open. You may have to close them separately. Indeed, it is our experience that leaving MATLAB-generated windows around after closing the MATLAB Desktop may be hazardous to your operating system. Still another way to exit is to use the Exit MATLAB option from the File menu of the Desktop. Before youexitMATLAB,youshouldbesuretosaveanyvariables,printanygraphics or other files you need, and in general clean up after yourself. Some strategies for doing so are addressed in Chapter 3. Chapter 2 MATLAB Basics Inthischapter,youwillstartlearninghowtouseMATLABtodomathematics. You should read this chapter at your computer, with MATLAB running. Try the commands in a MATLAB Command Window as you go along. Feel free to experiment with variants of the examples we present; the best way to find out how MATLAB responds to a command is to try it. ▯ For further practice, you can work the problems in Practice Set A.The Glossary contains a synopsis of many MATLABoperators, constants, functions, commands, and programming instructions. Input and Output You input commands to MATLAB in the MATLAB Command Window. MAT- LAB returns output in two ways: Typically, text or numerical output is re- turned in the same Command Window, but graphical output appears in a separate graphics window. A sample screen, with both a MATLAB Desktop and a graphics window, labeled Figure No. 1, is shown in Figure 2–1. To generate this screen on your computer, first type 1/2 + 1/3. Then type ezplot(’xˆ3 - x’). ▯ While MATLAB is working, it may display a “wait” symbol — for example, an hourglass appears on many operating systems. Or it may give no visual evidence until it is finished with its calculation. Arithmetic As we have just seen, you can use MATLAB to do arithmetic as you would a calculator. You can use “+” to add, “-” to subtract, “*” to multiply, “/” to divide, 8 Arithmetic 9 Figure 2-1: MATLAB Output. and “ˆ” to exponentiate. For example, >> 3ˆ2 - (5 + 4)/2 + 6*3 ans = 22.5000 MATLAB prints the answer and assigns the value to a variable called ans. If you want to perform further calculations with the answer, you can use the variable ans rather than retype the answer. For example, you can compute the sum of the square and the square root of the previous answer as follows: >> ansˆ2 + sqrt(ans) ans = 510.9934 Observe that MATLAB assigns a new value to ans witheachcalculation. To do more complex calculations, you can assign computed values to variables of your choosing. For example, >> u = cos(10) u= -0.8391 10 Chapter 2: MATLAB Basics >> v = sin(10) v= -0.5440 >> uˆ2 + vˆ2 ans = 1 MATLAB uses double-precision floating point arithmetic, which is accurate toapproximately15digits;however,MATLABdisplaysonly5digitsbydefault. To display more digits, type format long. Then all subsequent numerical output will have 15 digits displayed. Type format short to return to 5-digit display. MATLAB differs from a calculator in that it can do exact arithmetic. For example, it can add the fractions 1/2 and 1/3 symbolically to obtain the correct fraction 5/6. We discuss how to do this in the section Symbolic Expressions, Variable Precision, and Exact Arithmetic on the next page. Algebra Using MATLAB’s Symbolic MathToolbox, you can carry out algebraic or symbolic calculations suchas factoring polynomials or solving algebraic equations. Type help symbolic to make sure that the Symbolic Math Tool- box is installed on your system. To perform symbolic computations, you must use syms to declare the vari- ables you plan to use to be symbolic variables. Consider the following series of commands: >> syms x y >> (x - y)*(x - y)ˆ2 ans = (x-y)^3 >> expand(ans) Algebra 11 ans = x^3-3*x^2*y+3*x*y^2-y^3 >> factor(ans) ans = (x-y)^3 ▯ Notice that symbolic output is left-justified, while numeric output is indented. This feature is often useful in distinguishing symbolic output from numerical output. Although MATLAB makes minor simplifications to the expressions you type, it does not make major changes unless you tell it to. The command ex- pand told MATLAB to multiply out the expression, and factor forced MAT- LAB to restore it to factored form. MATLAB has a command called simplify, which you can sometimes use to express a formula as simply as possible. For example, >> simplify((xˆ3 - yˆ3)/(x - y)) ans = x^2+x*y+y^2 ▯ MATLAB has a more robust command, called simple, that sometimes does a better job than simplify. Try bothcommands on the trigonometric expression sin(x)*cos(y) + cos(x)*sin(y) to compare — you’ll have to read the online help for simple to completely understand the answer. Symbolic Expressions, Variable Precision, and Exact Arithmetic As we have noted, MATLAB uses floating point arithmetic for its calculations. Using the Symbolic Math Toolbox, you can also do exact arithmetic with sym- bolic expressions. Consider the following example: >> cos(pi/2) ans = 6.1232e-17 The answer is written in floating point format and means 6.1232 × 101. However, we know that cos(π/2) is really equal to 0. The inaccuracy is due to the fact that typing pi in MATLAB gives an approximation to π accurate 12 Chapter 2: MATLAB Basics to about 15 digits, not its exact value. To compute an exact answer, instead of an approximate answer, we must create an exact symbolic representation of π/2 by typing sym(’pi/2’). Now let’s take the cosine of the symbolic representation of π/2: >> cos(sym(’pi/2’)) ans = 0 This is the expected answer. The quotes around pi/2 in sym(’pi/2’) create a string consisting of the characters pi/2 and prevent MATLAB from evaluating pi/2 as a floating point number. The command sym converts the string to a symbolic expression. The commands sym and syms are closely related. In fact, syms x is equiv- alent to x = sym(’x’). The command syms has a lasting effect on its argu- ment (it declares it to be symbolic from now on), while sym has only a tempo- rary effect unless you assign the output to a variable, as in x = sym(’x’). Here is how to add 1/2 and 1/3 symbolically: >> sym(’1/2’) + sym(’1/3’) ans = 5/6 Finally,youcanalsodovariable-precisionarithmeticwithvpa.Forexample, √ to print 50 digits2, type >> vpa(’sqrt(2)’, 50) ans = 1.4142135623730950488016887242096980785696718753769 ➱ You should be wary of using sym or vpa on an expression that MATLAB must evaluate before applying variable-precision arithmetic. To illustrate, enter the expressions 3ˆ45, vpa(3ˆ45), and vpa(’3ˆ45’). The first gives a floating point approximation to the answer, the second — because MATLAB only carries 16-digit precision in its floating point evaluation of the exponentiation — gives an answer that is correct only in its first 16 digits, and the third gives the exact answer. ▯ See the section Symbolic and Floating Point Numbers in Chapter 4 for details about how MATLABconverts between symbolic and floating point numbers. Managing Variables 13 Managing Variables We have now encountered three different classes of MATLAB data: floating point numbers, strings, and symbolic expressions. In a long MATLAB session it may be hard to remember the names and classes of all the variables you have defined. You can type whos to see a summary of the names and types of your currently defined variables. Here’s the output of whos for the MATLAB session displayed in this chapter: >> whos Name Size Bytes Class ans 1 x 1 226 sym object u 1 x 1 8 double array v 1 x 1 8 double array x 1 x 1 126 sym object y 1 x 1 126 sym object Grand total is 58 elements using 494 bytes We see that there are currently five assigned variables in our MATLAB session. Three are of class “sym object”; that is, they are symbolic objects. The variables x and y are symbolic because we declared them to be so using syms, and ans is symbolic because it is the output of the last command we executed, which involved a symbolic expression. The other two variables, u and v, are of class “double array”. That means that they are arrays of double-precision numbers; in this case the arrays are of size 1 × 1 (that is, scalars). The “Bytes” column shows how much computer memory is allocated to each variable. Try assigning u = pi, v = ’pi’, and w = sym(’pi’), and then type whos to see how the different data types are described. The command whos shows information about all defined variables, but it does not show the values of the variables. To see the value of a variable, simply type the name of the variable and pressNTER orRETURN . MATLAB commands expect particular classes of data as input, and it is important to know what class of data is expected by a given command; the help textforacommandusuallyindicatestheclassorclassesofinputitexpects.The wrong class of input usually produces an error message or unexpected output. For example, type sin(’pi’) to see how unexpected output can result from supplying a string to a function that isn’t designed to accept strings. To clear all defined variables, type clear or clear all. You can also type, for example, clear x y to clear only x and y. You should generally clear variables before starting a new calculation. Otherwise values from a previous calculation can creep into the new 14 Chapter 2: MATLAB Basics Figure 2-2: Desktop with the Workspace Browser. calculation by accident. Finally, we observe that the Workspace browser pre- sents a graphical alternative to whos. You can activate it by clicking on the Workspace tab, by typing workspace at the command prompt, or through the View item on the menu bar. Figure 2-2 depicts a Desktop in which the Command Window and the Workspace browser contain the same information as displayed above. Errors in Input If you make an error in an input line, MATLAB will beep and print an error message. For example, here’s what happens when you try to evaluate 3uˆ2: >> 3uˆ2 ??? 3u^2 | Error: Missing operator, comma, or semicolon. The error is a missing multiplication operator*. The correct input would be 3*uˆ2. Note that MATLAB places a marker (a vertical line segment) at the place where it thinks the error might be; however, the actual error may have occurred earlier or later in the expression. Online Help 15 ➱ Missing multiplication operators and parentheses are among the most common errors. You can edit an input line by using tUP-ARROW key to redisplay the pre- vious command, editing the command using the LEFT-and RIGHT-ARROW keys, and then pressing RETURN or ENTER.The UP- and DOWN-ARROW keys allow you to scroll back and forththroughall the commands you’ve typed in a MATLAB session, and are very useful when you want to correct, modify, or reenter a previous command. Online Help There are several ways to get online help in MATLAB. To get help on a particu- lar command, enter help followed by the name of the command. For example, help solve will display documentation for solve. Unless you have a large monitor, the output of help solve will not fit in your MATLAB command window, and the beginning of the documentation will scroll quickly past the top of the screen. You can force MATLAB to display information one screen- ful at a time by typing more on. You press the space bar to display the next screenful, orNTER to display the next line; type help more for details. Typing more on affects all subsequent commands, until you type more off. The command lookfor searches the first line of every MATLAB help file for a specified string (use lookfor -all to searchall lines). For example, if you wanted to see a list of all MATLAB commands that contain the word “factor” as part of the command name or brief description, then you would type lookfor factor. If the command you are looking for appears in the list, then you can use help on that command to learn more about it. The most robust online help in MATLAB 6 is provided through the vastly improved Help Browser. The Help Browser can be invoked in several ways: by typing helpdesk at the command prompt, under the View item in the menu bar, or through the question mark button on the tool bar. Upon its launch you will see a window with two panes: the first, called the Help Navigator, used to find documentation; and the second, called the display pane, for viewing documentation. The display pane works much like a normal web browser. It has an address window, buttons for moving forward and backward (among the windows you have visited), live links for moving around in the documentation, the capability of storing favorite sites, and other such tools. You use the Help Navigator to locate the documentation that you will ex- plore in the display pane. The Help Navigator has four tabs that allow you to 16 Chapter 2: MATLAB Basics arrange your search for documentation in different ways. The first is the Con- tents tab that displays a tree view of all the documentation topics available. The extent of that tree will be determined by how much you (or your system administrator) included in the original MATLAB installation (how many tool- boxes, etc.). The second tab is an Index that displays all the documentation available in index format. It responds to your key entry of likely items you want to investigate in the usual alphabetic reaction mode. The third tab pro- vides the Search mechanism. You type in what you seek, either a function or some other descriptive term, and the search engine locates corresponding documentation that pertains to your entry. Finally, the fourth tab is a roster of your Favorites. Clicking on an item that appears in any of these tabs brings up the corresponding documentation in the display pane. The Help Browser has an excellent tutorial describing its own operation. To view it, open the Browser; if the display pane is not displaying the “Begin Here” page, then click on it in the Contents tab; scroll down to the “Using the Help Browser” link and click on it. The Help Browser is a powerful and easy-to-use aid in finding the information you need on various components of MATLAB. Like any such tool, the more you use it, the more adept you become at its use. ▯ If you type helpwin to launch the Help Browser, the display pane will contain the same roster that you see as the result of typing help at the command prompt, but the entries will be links. Variables and Assignments InMATLAB,youusetheequalsigntoassignvaluestoavariable.Forinstance, >x=7 x= 7 will give the variable x the value 7 from now on. Henceforth, whenever MAT- LAB sees the letter x, it will substitute the value 7. For example, if y has been defined as a symbolic variable, then >> xˆ2 - 2*x*y + y ans = 49-13*y Solving Equations 17 ➱ To clear the value of the variable x, type clear x. You can make very general assignments for symbolic variables and then manipulate them. For example, >> clear x; syms x y >> z = xˆ2 - 2*x*y + y z= x^2-2*x*y+y >> 5*y*z ans = 5*y*(x^2-2*x*y+y) A variable name or function name can be any string of letters, digits, and underscores, provided it begins witha letter (punctuation marks are not al- lowed). MATLAB distinguishes between uppercase and lowercase letters. You should choose distinctive names that are easy for you to remember, generally using lowercase letters. For example, you might use cubicsol as the name of the solution of a cubic equation. ➱ A common source of puzzling errors is the inadvertent reuse of previously defined variables. MATLAB never forgets your definitions unless instructed to do so. You can check on the current value of a variable by simply typing its name. Solving Equations You can solve equations involving variables with solve or fzero. For exam- ple, to find the solutions of the quadratic equation x4 = 0, type >> solve(’xˆ2 - 2*x-4=0’) ans = [ 5^(1/2)+1] [ 1-5^(1/2)] Note that the equation to be solved is specified as a string; that is, it is sur- rounded by single quotes. The answer consists of the exact (symbolic) solutions 18 Chapter 2: MATLAB Basics √ 1 ± 5. To get numerical solutions, type double(ans),or vpa(ans) to dis- play more digits. The command solve can solve higher-degree polynomial equations, as well as many other types of equations. It can also solve equations involving more thanonevariable.Iftherearefewerequationsthanvariables,youshouldspec- ify (as strings) which variable(s) to solve for. For example, typesolve(’2*x - log(y) = 1’, ’y’) to solve 2x − log y = 1 for y in terms of x. You can specify more than one equation as well. For example, >> [x, y] = solve(’xˆ2-y=2 ,’y-*x=’) x= [ 1+2*2^(1/2)] [ 1-2*2^(1/2)] y= [ 7+4*2^(1/2)] [ 7-4*2^(1/2)] This system of equations has two solutions. MATLAB reports the solution by giving the two x values and the two y values for those solutions. Thus the first solution consists of the first value of x together with the first vouue of y.Y can extract these values by typing x(1) and y(1): >> x(1) ans = 1+2*2^(1/2) >> y(1) ans = 7+4*2^(1/2) The second solution can be extracted with x(2) and y(2). Note that in the preceding solve command, we assigned the output to the vector [x, y]. If you use solve on a system of equations without assigning theoutputtoavector,thenMATLABdoesnotautomaticallydisplaythevalues of the solution: >> sol = solve(’xˆ2-y=2 ,’y-x=5) Solving Equations 19 sol = x: [2x1 sym] y: [2x1 sym] To see the vectors of x and y values of the solution, type sol.x and sol.y.To see the individual values, type so


Buy Material

Are you sure you want to buy this material for

25 Karma

Buy Material

BOOM! Enjoy Your Free Notes!

We've added these Notes to your profile, click here to view them now.


You're already Subscribed!

Looks like you've already subscribed to StudySoup, you won't need to purchase another subscription to get this material. To access this material simply click 'View Full Document'

Why people love StudySoup

Bentley McCaw University of Florida

"I was shooting for a perfect 4.0 GPA this semester. Having StudySoup as a study aid was critical to helping me achieve my goal...and I nailed it!"

Allison Fischer University of Alabama

"I signed up to be an Elite Notetaker with 2 of my sorority sisters this semester. We just posted our notes weekly and were each making over $600 per month. I LOVE StudySoup!"

Steve Martinelli UC Los Angeles

"There's no way I would have passed my Organic Chemistry class this semester without the notes and study guides I got from StudySoup."

Parker Thompson 500 Startups

"It's a great way for students to improve their educational experience and it seemed like a product that everybody wants, so all the people participating are winning."

Become an Elite Notetaker and start selling your notes online!

Refund Policy


All subscriptions to StudySoup are paid in full at the time of subscribing. To change your credit card information or to cancel your subscription, go to "Edit Settings". All credit card information will be available there. If you should decide to cancel your subscription, it will continue to be valid until the next payment period, as all payments for the current period were made in advance. For special circumstances, please email


StudySoup has more than 1 million course-specific study resources to help students study smarter. If you’re having trouble finding what you’re looking for, our customer support team can help you find what you need! Feel free to contact them here:

Recurring Subscriptions: If you have canceled your recurring subscription on the day of renewal and have not downloaded any documents, you may request a refund by submitting an email to

Satisfaction Guarantee: If you’re not satisfied with your subscription, you can contact us for further help. Contact must be made within 3 business days of your subscription purchase and your refund request will be subject for review.

Please Note: Refunds can never be provided more than 30 days after the initial purchase date regardless of your activity on the site.