MATLAB, 5th Edition free download ebook
MATLAB® An Introduction
with Applications
MATLAB® An Introduction
with Applications
Fifth Edition Amos Gilat Department of Mechanical and Aerospace Engineering The Ohio State UniversityWILEY Publisher: DonFowley Executive Editor: Dan Sayre Editorial Assistant: Jessica Knecht Cover Designer: Kenji Ngieng
Joyce Poh Associate Production Manager: Cover Image: Amos Gilat.
Founded in 1807, John Wiley & Sons, Inc. has been a valued source ofknowledge and understanding for more than 200 years, helping people around the world meet their needs and fulfill their aspirations. Our company is built on a foundation of principles that include responsibility to the communities we serve and where we live and work. In 2008, we launched a Corporate Citizenship Initiative, a global effort to address the environmental, social, economic, and ethical challenges we face in our business. Among the issues we are addressing are carbon impact, paper specifications and procurement, ethical conduct within our business and among our vendors, and community and charitable support. For
www more information, please visit our website: .wiley.com/go/citizenship.
Copyright © 2015, 2011 John Wiley & Sons, Inc. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning or otherwise, except as permitted under Sections 107 or 108 of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or authorization through payment of
to
the appropriate per-copy fee the Copyright Clearance Center, Inc., 222 Rosewood Drive,
www
Danvers, MA 01923, website .copyright.com. Requests to the Publisher for permission should be addressed to the Permissions Department, John Wiley & Sons, Inc., 111 River
www
Street, Hoboken, NJ 07030-5774, (201)748-6011, fax (201)748-6008, website http:// .wiley. com/go/permissions.
Evaluation copies are provided to qualified academics and professionals for review purposes only, for use in their courses during the next academic year. These copies are licensed and may not be sold or transferred to a third party. Upon completion of the review period, please return the evaluation copy to Wiley. Return instructions and a free
www
of charge return mailing label are available at .wiley.com/go/returnlabel. If you have chosen to adopt this textbook for use in your course, please accept this book as your complimentary desk copy. Outside of the United States, please contact your local sales representative.
ISBN 978-1-118-62986-4 (paper) Printed in the United States of America 10 9 8 7 6 5 4 3 2 1
Preface
MATLAB® is a very popular language for technical computing used by stu dents, engineers, and scientists in universities, research institutes, and industries all over the world. The software is popular because it is powerful and easy to use. For university freshmen in it can be thought of as the next tool to use after the graphic calculator in high school.
This book was written following several years of teaching the software to freshmen in an introductory engineering course. The objective was to write a book that teaches the software in a friendly, non-intimidating fashion. Therefore, the book is written in simple and direct language. In many places bullets, rather than lengthy text, are used to list facts and details that are related to a specific topic.
The book includes numerous sample problems in mathematics, science, and engi neering that are similar to problems encountered by new users ofMATLAB.
This fifth edition of the book is updated to MATLAB Release 2013b. In addition, the end of chapter problems have been revised. In Chapters 1 through 8 close to 80% of the problems are new or different than in previous editions.
I would like to thank several of my colleagues at The Ohio State University. Professor Richard Freuler for his comments, and Dr. Mike Parke for reviewing sections of the book and suggested modifications. I also appreciate the involve ment and support of Professors Robert Gustafson, John Demel and Dr. John Mer rill from the Engineering Education Innovation Center at The Ohio State University. Special thanks go to Professor Mike Lichtensteiger (OSU), and my daughter Tal Gilat (Marquette University), who carefully reviewed the first edi tion of the book and provided valuable comments and criticisms. Professor Brian Harper (OSU) has made a significant contribution to the new end of chapter prob lems in the present edition.
I would like to express my appreciation to all those who have reviewed ear lier editions of the text at its various stages of development, including Betty Barr, University of Houston; Andrei G. Chakhovskoi, University of California, Davis;
Roger King, University of Toledo; Richard K wor, University of Colorado at Colo rado Springs; Larry Lagerstrom, University of California, Davis; Yueh-Jaw Lin, University of Akron; H. David Sheets, Canisius College; Geb Thomas, University oflowa; Brian Vick, Virginia Polytechnic Institute and State University; Jay Weit zen, University of Massachusetts, Lowell; and Jane Patterson Fife, The Ohio State University. In addition, I would like to acknowledge Daniel Sayre and Joyce Poh, all from John Wiley & Sons, who supported the production of the Fifth edition. v vi Preface
I hope that the book will be useful and will help the users of MATLAB to
enjoy the software. Amos Gilat Columbus, Ohio
2013
November, gilat.l @osu.edu
To my parents Schoschana and Haim Gelbwacks Contents Preface v Introduction 1
Chapter 1 Starting with MATLAB 5
1.1 STARTING MATLAB, MATLAB WINDOWS
5
1.2 WORKING IN WINDOW
9
THE CO MMAND
1.3 ARITHMETIC OPERATIONS WITH SCALARS
11
1.3.1 Order of Precedence
11
1.3.2 Using MATLAB as a Calculator
12
1.4 DISPLAY FORMATS
12
1.5 ELEMENTARY MATH BUILT-IN FUNCTIONS
14
1.6 DEFINING SCALAR VARIABLES
16
1.6.1 The Assignment Operator
16
1.6.2 Rules About Variable Names
18
1.6.3 Predefined Variables and Keywords
19
1.7 USEFUL COMMANDS FOR MANAGING VARIABLES
19
1.8 SCRIPT FILES
20
1.8.1 Notes About Script Files
20
1.8.2 Creating and Saving a Script File
21
1.8.3 Running (Executing) a Script File
22
1.8.4 Current Folder
22
1.9 EXAMPLES OF MATLAB APPLICATIONS
24
1.10 PROBLEMS
27 Chapter 2 Creating Arrays 35
2.1 CREATING A ONE-DIMENSIONAL ARRAY
VECTOR
( )
35
2.2 CREATING A TwO-DIMENSIONAL ARRAY ATRIX
(M )
39
2.2.1 The zeros, ones and, eye Commands
40
2.3 NOTES ABOUT VARIABLES IN MATLAB
41
2.4 TRANSPOSE OPERATOR
THE
41
ARRAY ADDRESSING2.5
42
2.5.1 Vector
42
2.5.2 M a trix
43 USING A COLON : IN ADDRESSING ARRAYS
2.6
44
2.7 ADDING ELEMENTS TO EXISTING VARIABLES
46
2.8 DELETING ELEMENTS
48
2.9 BUILT-IN FUNCTIONS FOR HANDLING ARRAYS
49
2.10 STRINGS AND STRINGS AS VARIABLES
53
2.11 PROBLEMS
55 Chapter 3 Mathematical Operations with Arrays 63
3.1 ADDITION AND SUBTRACTION
64
3.2 ARRAYMULTIPLICATION
65
3.3 ARRAY DIVISION
68 vii
3.4 ELEMENT-BY-ELEMENT OPERATIONS
143
Chapter 5 Two-Dimensional Plots 133
5.1 THE plot
COMMAND
134
5.1.1 Plot of Given Data 138
5.1.2 Plot of a Function 139
5.2 THE fplot
COMMAND
140
5.3 PLOTTING MULTIPLE GRAPHS IN THE SAME PLOT 141
5.3.1 Using the plot Command 141
5.3.2 Using the hold on and hold off Commands 142
5.3.3 Using the line
Command
5.4 FORMATTING A PLOT 144
PROBLEMS
5.9 POLAR PLOTS 156
5.13 EXAMPLES OF MATLAB APPLICATIONS 160
159
PLOTS TOOLSTRIP
5.12 PLOTTING USING THE
5.11 MULTIPLE FIGURE WINDOWS 157
5.10 PuTTING MULTIPLE PLOTS ON THE SAME PAGE 157
5.8 HISTOGRAMS 153
5.4.1 Formatting a Plot Using Commands 144
5.7 PLOTS WITH SPECIAL GRAPHICS 152
ERROR BARS 150
5.6 PLOTS WITH
LOGARITHMIC AxES 149
5.5 PLOTS WITH
5.4.2 Formatting a Plot Using the Plot Editor 148
123
4.6 EXAMPLES OF MATLAB APPLICATIONS 118 4. 7
72
97
3.5 USING ARRAYS IN MATLAB BUILT-IN MATH FUNCTIONS
75
3.6 BUILT-IN FUNCTIONS FOR ANALYZING ARRAYS
75
3.7 GENERATION OF RANDOM NUMBERS
77
3.8 EXAMPLES OF MATLAB APPLICATIONS
80
3.9 PROBLEMS
86 Chapter 4 Using Script Files and Managing Data 95
4.1 THE
MATLAB WORKSPACE AND THE WORKSPACE WINDOW
96
4.2 INPUT TO A SCRIPT FILE
4.3 OUTPUT COMMANDS 100
4.5.2 Using the Import Wizard 116
Command
4.5.1 Commands for Importing and Exporting Data 114
4.5 IMPORTING AND EXPORTING DATA 114
112
Command
4.4.2 The load
111
4.4.1 The save
4.3.1 The disp
4.4 THE save AND load COMMANDS 111
103
Command
4.3.2 The fprintf
101
Command
5.14 PROBLEMS 165
Chapter 6 Programming in MATLAB 175
6.1 RELATIONAL AND LOGICAL OPERATORS 176
6.2 CONDITIONAL STATEMENTS
184
6.2.1 The if-end Structure 184
6.2.2 The if-else-end Structure 186
6.2.3 The if-elseif-else-end Structure 187
6.3 THE switch-case STATEMENT 189
6.4 LOOPS 192
6.4.1 Loops
for-end 192
6.4.2 while-end Loops 197
6.5 NESTED LOOPS AND NESTED CONDITIONAL STATEMENTS 200
6.6 AND COMMANDS
THE break continue 202
6.7 EXAMPLES OF MATLAB APPLICATIONS 203
6.8 PROBLEMS 211
7 Chapter User-Defined Functions and Function Files 221
7.1 CREATING A FUNCTION FILE 222
7.2 STRUCTURE OF A FUNCTION FILE
223
7.2.1 Function Definition Line 224
7.2.2 Input and Output Arguments 224
7.2.3 The H1 Line and Help Text Lines
226
7.2.4 Function Body 226
7.3 LOCAL AND GLOBAL VARIABLES 226
7.4 SAVING A FUNCTION FILE
227
7.5 USING A USER-DEFINED FUNCTION 228
7.6 EXAMPLES OF SIMPLE USER-DEFINED FUNCTIONS 229
7.7 COMPARISON BETWEEN SCRIPT FILES AND FUNCTION FILES
231
7.8 ANONYMOUS FUNCTIONS 231
7.9 FUNCTION FUNCTIONS 234 7.9 .1 Using Function Handles for Passing a Function into a Function
Function 235
7.9.2 Using a Function Name for Passing a Function into a Function Function
238
7.10 SUBFUNCTIONS 240
7.11 NESTED FUNCTIONS 242
7.12 EXAMPLES OF MATLAB APPLICATIONS
245
7.13 PROBLEMS 248
Chapter 8 Polynomials, Curve Fitting, and Interpolation 261
8.1 POLYNOMIALS 261
8.1.1 Value of a Polynomial 262
8.1.2 Roots of a Polynomial
263
8.1.3 Addition, Multiplication, and Division of Polynomials
264
8.1.4 Derivatives ofPolynomials 266
8.2 CURVE FITTING
267
8.2.1 Curve Fitting with Polynomials; The Function
pol yf it 267
8.2.2 Curve Fitting with Functions Other than Polynomials 271
Contents 8.3 274
INTERPOLATION
8.4 278
THE BASIC FITTING INTERFACE XAMP
8.5 E LES OF MATLAB APPLICATIONS 281 8.6 286
PROBLEMS
9.1 SOLVING AN EQUATION WITH ONE VARIABLE 295
9.2 298
FINDING A MINIMUM OR A MAXIMUM OF A FUNCTION
9.3 NUMERICAL INTEGRATION 300 9.4 303
ORDINARY DIFFERENTIAL EQUATIONS XAMP
9.5 E LES OF MATLAB APPLICATIONS 307
9.6 PROBLEMS 313
10.1 LINE PLOTS 323 10.2 324
MESH AND SURFACE PLOTS
10.3 331
PLOTS WITH SPECIAL GRAPHICS
10.4 THE view 333 XAMP COMMAND 10.5 336
E LES OF MATLAB APPLICATIONS
10.6 PROBLEMS 341
11.1 348
SYMBOLIC OBJECTS AND SYMBOLIC EXPRESSIONS
11.1.1 Creating Symbolic Objects 348 11.1.2 350
Creating Symbolic Expressions
11.1.3 The fmdsym Command and the Default Symbolic
Variable 353
11.2 354
CHANGING THE FORM OF AN EXISTING SYMBOLIC EXPRESSION
11.2.1 collect, expand, factor 354
The and Commands
11.2.2 simplify 356
The and simple Commands
11.2.3 The pretty Command 357 11.3 358
SOLVING ALGEBRAIC EQUATIONS
11.4 DIFFERENTIATION 363
11.5 INTEGRATION 365
11.6 366
SOLVING AN ORDINARY DIFFERENTIAL EQUATION
11.7 PLOTTING SYMBOLIC EXPRESSIONS 369
11.8 372
NUMERICAL CALCULATIONS WITH SYMBOLIC EXPRESSIONS XAMP
11.9 376
E LES OF MATLAB APPLICATIONS
11.10 PROBLEMS 384 Appendix: Summary of Characters, Commands, and Functions 393 Answers to Selected Problems www.wiley.com/college/gilat
Index 401
Introduction
MATLAB is a powerful language for technical computing. The name MATLAB stands for MATrix LABoratory, because its basic data element is a matrix (array). MATLAB can be used for math computations, modeling and simulations, data analysis and processing, visualization and graphics, and algorithm development.
MATLAB is widely used in universities and colleges in introductory and advanced courses in mathematics, science, and especially engineering. In industry the software is used in research, development, and design. The standard
MATLAB program has tools (functions) that can be used to solve common problems. In addition, MATLAB has optional toolboxes that are collections of specialized programs designed to solve specific types of problems. Examples include toolboxes for signal processing, symbolic calculations, and control systems.
Until recently, most of the users of MATLAB have been people with amm previous knowledge of progr ing languages such as FORTRAN and C who switched to MATLAB as the software became popular. Consequently, the majority of the literature that has been written about MATLAB assumes that the reader has knowledge of computer programming. Books about MATLAB often address advanced topics or applications that are specialized to a particular field.
Today, however, MATLAB is being introduced to college students as the first (and often the only) computer program they will learn. For these students there is a need for a book that teaches MATLAB assuming no prior experience in computer programming.
The of This Book MATLAB: An Introduction with Applications is intended for students who are
using MATLAB for the first time and have little or no experience in computer programming. It can be used as a textbook in freshmen engineering courses or in workshops where MATLAB is being taught. The book can also serve as a reference in more advanced science and engineering courses where MATLAB is used as a tool for solving problems. It also can be used for self-study ofMATLAB
In
by students and practicing engineers. addition, the book can be a supplement or a secondary book in courses where MATLAB is used but the instructor does not have the time to cover it extensively.
Covered
MATLAB is a huge program, and therefore it is impossible to cover all of it in one book. This book focuses primarily on the foundations of MATLAB. The
1
2 Introduction assumption is that once these foundations are well understood, the student will be able to learn advanced topics easily by using the information in the Help menu.
The order in which the topics are presented in this book was chosen carefully, based on several years of experience in teaching MATLAB in an introductory engineering course. The topics are presented in an order that allows the student to follow the book chapter after chapter. Every topic is presented completely in one place and then used in the following chapters.
The first chapter describes the basic structure and features of MATLAB and how to use the program for simple arithmetic operations with scalars as with a calculator. Script files are introduced at the end of the chapter. They allow the student to write, save, and execute simple MATLAB programs. The next two chapters are devoted to the topic of arrays. MATLAB's basic data element is an array that does not require dimensioning. This concept, which makes MATLAB a very powerful program, can be a little difficult to grasp for students who have only limited knowledge of and experience with linear algebra and vector analysis. The concept of arrays is introduced gradually and then explained in extensive detail.
Chapter 2 describes how to create arrays, and Chapter 3 covers mathematical operations with arrays. Following the basics, more advanced topics that are related to script files and input and output of data are presented in Chapter 4. This is followed by amm coverage of two-dimensional plotting in Chapter 5. Progr ing with MATLAB is introduced in Chapter 6. This includes flow control with conditional statements and loops. User-defmed functions, anonymous functions, and function functions are covered next in Chapter 7. The coverage of function files (user-defmed functions) is intentionally separated from the subject of script files. This has proven to be easier to understand by students who are not familiar with similar concepts from other computer programs.
The next three chapters cover more advanced topics. Chapter 8 describes how MATLAB can be used for carrying out calculations with polynomials, and how to use MATLAB for curve fitting and interpolation. Chapter 9 covers applications of MATLAB in numerical analysis. It includes solving nonlinear equations, finding minimum or a maximum of a function, numerical integration, and solution of first-order ordinary differential equations. Chapter 10 describes how to produce three-dimensional plots, an extension of the chapter on two dimensional plots. Chapter 11 covers in great detail how to use MATLAB in symbolic operations. The Framework of a In every chapter the topics are introduced gradually in an order that makes the concepts easy to understand. The use of MATLAB is demonstrated extensively within the text and by examples. Some of the longer examples in Chapters 1-3 are titled as tutorials. Every use of MATLAB is printed with a different font and with a gray background. Additional explanations appear in boxed text with a white background. The idea is that the reader will execute these demonstrations and Introduction 3 tutorials in order to gain experience in using MATLAB. In addition, every chapter includes formal sample problems that are examples of applications of MATLAB for solving problems in math, science, and engineering. Each example includes a problem statement and a detailed solution. Some sample problems are presented in the middle of the chapter. All of the chapters (except Chapter 2) have a section at the end with several sample problems of applications. It should be pointed out that problems with MATLAB can be solved in many different ways. The solutions
to
of the sample problems are written such that they are easy follow. This means that in many cases the problem can be solved by writing a shorter, or sometimes "trickier," program. The students are encouraged to try to write their own solu tions and compare the end results. At the end of each chapter there is a set of homework problems. They include general problems from math and science and problems from different disciplines of engineering.
Calculations MATLAB is essentially a software for numerical calculations. Symbolic math operations, however, can be executed if the Symbolic Math toolbox is installed.
The Symbolic Math toolbox is included in the student version of the software and can be added to the standard program. Software and Hardware
The MATLAB program, like most other software, is continually being developed and new versions are released frequently. This book covers MATLAB Version 8.2.0.701, Release 2013b. It should be emphasized, however, that the book covers the basics of MATLAB, which do not change much from version to version. The book covers the use of MATLAB on computers that use the Windows operating system. Everything is essentially the same when MATLAB is used on other machines. The user is referred to the documentation of MATLAB for details on using MATLAB on other operating systems. It is assumed that the software is installed on the computer, and the user has basic knowledge of operating the computer.
The Order of in the Book It is probably impossible to write a textbook where all the subjects are presented in an order that is suitable for everyone. The order of topics in this book is such that the fundamentals ofMATLAB are covered first (arrays and array operations), and, as mentioned before, every topic is covered completely in one location, which makes the book easy to use as a reference. The order of the topics in this fifth edition is the same as in the previous edition. Programming is introduced
amm
before user-defmed functions. This allows using progr ing in user-defmed functions. Also, applications ofMATLAB in numerical analysis follow Chapter 8 which covers polynomials, curve fitting, and interpolation.
Chapterl Starting with MATLAB
This chapter begins by describing the characteristics and purpose of the different windows in MATLAB. Next, the Command Window is introduced in detail. The chapter shows how to use MATLAB for arithmetic operations with scalars in much to the way that a calculator is used. This includes the use of elementary math functions with scalars. The chapter then shows how to define scalar vari ables (the assigmnent operator) and how to use these variables in arithmetic calcu lations. The last section in the chapter introduces script files. It shows how to write, save, and execute simple MATLAB programs.
1.1 STARTING MATLAB, MATLAB WINDOWS
It is assumed that the software is installed on the computer, and that the user can start the program. Once the program starts, the MATLAB desktop window opens with the default layout, Figure 1-1. The layout has a Toolstrip at the top, the Cur rent Folder Toolbar below it, and four windows underneath. At the top of the
Toolstrip there are three tabs: HOME, PLOTS, and APPS. Clicking on the tabs changes the icons in the Toolstrip. Commonly, MATLAB is used with the HOME tab selected. The associated icons are used for executing various commands, as explained later in this chapter. The PLOTS tab can be used to create plots, as explained in Chapter
5 (Section 5.12), and the APPS tab can be used for opening additional applications and Toolboxes of MATLAB. The default layout
The default layout (Figure 1-1) consists of the following four windows that are displayed under the Toolstrip: the Command Window (larger window at the cen ter), the Current Folder Window (on the left) and the Workspace and Command History windows (on the right). A list of several MATLAB windows and their purposes is given in Table 1-1.
Four of the windows-the Command Window, the Figure Window, the Editor Window, and the Help Window-are used extensively throughout the book and
5
, R20Bb 1: with MATLAB
..;. MATl.AB .. Starch Documentation <ow"'"'" An11lyze cooe Clsw:tdlWI'll»ws (]> @Preferences
III
db a;, Open Vlll'l!ltlole ,.. • + Script 011111 W!llb{wlce ClearWortspllr:e '9' " Cle.!lrCo!Tinllnds ,... r«rw New Open hiport s.r.ve Laywt D [J'] - Name ..,. • � C: � gilat1(ommandWindow ® Worlupace
• • U�m � Document� MATLAB. £ir.RunandTrne �tPath Name .a. ValueCommandHistory · ·ls-- 10/2/2013 3:01 PM -- @ Figure 1-1: The default view ofMATLAB desktop.
are briefly described on the following pages. More detailed descriptions are included in the chapters where they are used. The Command History Window, Current Folder Window, and the Workspace Window are described in Sections and respectively.
1.2, 1.8.4, 4.1, Command Window: The Command Window is MATLAB 's main window and
opens when MATLAB is started. It is convenient to have the Command Window as the only visible window. This can be done either by closing all the other win dows, or by selecting Command Window Only in the menu that opens when the icon on the Toolstrip is selected. To close a window, click on the pull
Layout
down menu at the top right-hand side of the window and then select Close. Work ing in the Command Window is described in detail in Section
1.2. Table 1-1: MATLAB windows Window Purpose
Command Window Main window, enters variables, runs programs. Figure Window Contains output from graphic commands. Editor Window Creates and debugs script and function files. Help Window Provides help information. Command History Window Logs commands entered in the Command Window.
1.1 MATLAB Windows
7 Table 1-1: MATLAB windows Window Purpose
Workspace Window Provides information about the variables that are stored. Current Folder Window Shows the files in the current folder.
Figure Window: The Figure Window opens automatically when graphics com
mands are executed, and contains graphs created by these commands. An example of a Figure Window is shown in Figure 1-2. A more detailed description of this window is given in Chapter 5.
IJ Figur� file ,Edit Yiew Insert Iools. Q.esktop Window Help 1 Plot the function y� of 1 4cos(x)
30
20
10
- 10
- 20
- 30
- 40 Figure 1-2: Example of a Figure Window.
Editor Window: The Editor Window is used for writing and editing programs.
This window is opened by clicking on the New Script icon in the Toolstrip, or by clicking on the New icon and then selecting Script from the menu that opens. An example of an Editor Window is shown in Figure 1-3. More details on the Editor Window are given in Section 1.8.2, where it is used for writing script files, and in Chapter 7, where it is used to write function files.
Help Window: The Help Window contains help information. This window can
be opened from the Help icon in the Toolstrip of the Command Window or the toolbar of any MATLAB window. The Help Window is interactive and can be used to obtain information on any feature ofMATLAB. Figure 1-4 shows an open Help Window.
When MATLAB is started for the first time, the screen looks like that shown in Figure 1-1. For most beginners it is probably more convenient to close all the
8 r- 1: with MATLAB
!3 Editor- Unt:itledJ* EDrTOR PUBLISH Find Files VIEW Run Section Pr i n t Advance a EDIT NAVIGATE Breakpoints Ru n Run and Run and Advance � a-�; b--9; c--17.5; DIS=sqrt (b"2-4iira'"'c); � a�x�2 + b�x +c = 0 Example of script file. This program calculates the roots of a quadratic equation: I (2"'"a) x1�(-b-dis)/(2'a) �(-b+di3) Figure 1-3: Example of an Editor Window.
�' Help Docurnerrtalion Cer.ler Contents Search Documentation > Getting Started wilh MA Tl.AB > Language F undamen t als > Mathematics Functions Examples Re l ease Notes MATLAB
GeHing Started Examples Release No1es
> Sy Jta,;, r opera!OJs, data types, array irKfexing aOO m.:mipul.aliooLanguage Fundamentals
> Advanced Software Development > GUI Building > Data and File Management tr.:msforrns, -arKI other mathematics > De5ktop Environmenl Two- alllf three-dimensiooal plol.s, dala exploration and visualiz.alion > Programm i ng Scripls and Functions > Grapllics > Mathematics > UneM alg e bra . basic st a ti stics , differentiation aOO integrals, Fourier Graphics > > Programming Scripts and FunctionsData and File Management
Program Iiies, control now, edltir�g , debugging techniques, images, printing, arK! graphics objects > Advanced Software Development > Application development usillQ GUIDE alld callbac:ks GUI Building Data import and exp<Ht, wo rt.space , li!€5 and folders file:/1/C:/Proqram F11es/MATLAB/R2013b/help/matlab/relea<e-note<.htmlJ ava"' , CIC+t- , . N ET and other la�uage:s
Objecl-orienled program mi n g ; code performance; unit testing; mterfaces to Figure 1-4: The Help Window.1.2 in the Command Window
windows except the Command Window. The closed windows can be reopened by selecting them from the layout icon in the Toolstrip. The windows shown in Fig ure can be displayed by clicking on the icon and selecting in
1-1 layout Default
the menu that opens. The various windows in Figure are docked to the desk
1-1
top. A window can be undocked (become a separate, independent window) by dragging it out. An independent window can be redocked by clicking on the pull down menu at the top right-hand side of the window and then selecting Dock.
1.2 WORKING IN THE COMMAND WINDOW
The Command Window is MATLAB's main window and can be used for execut ing commands, opening other windows, running programs written by the user, and managing the software. example of the Command Window, with several sim
An ple commands that will be explained later in this chapter, is shown in Figure 1-5 . ..JJ. MA.TlAB R2013b HOME PLOTS APPS
- • Scr'p: WorKspace Add-OM
New New Open ]= CofTllare rnport Save Layout Se!Path rn � .. C: � Users � gil.rtl Doc:uments MATLAB om ,. �
- � >> 2"" (1+3}
To type a command the cursor is placed next to the command prompt ( >> ).
Figure 1-5: The Command Window.
Notes for working in the Command Window:
- • To type a command, the cursor must be placed next to the command prompt ( >> ). • Once a command is typed and the Enter key is pressed, the command is executed. However, only the last co mman d is executed. Everything executed previously (that might be still displayed) is unchanged. •
Several commands can be typed in the same line. This is done by typing a co mma between the co mman ds. When the key is pressed, the co mman ds are exe
Enter cuted in order from left to right. •
is not possible to go back to a previous line that is displayed in the Co mman d
It Window, make a correction, and then re-execute the command.
10 1: with MATLAB
- • A previously typed command can be recalled to the command prompt with the up arrow key ( t ). When the command is displayed at the co mman d prompt, it can
( .t)
be modified if needed and then executed. The down-arrow key can be used to move down the list of previously typed commands. • If a co mman d is too long to fit in one line, it can be continued to the next line by typing three periods ... (called an ellipsis) and pressing the Enter key. The con tinuation of the co mman d is then typed in the new line. The command can con tinue line after line up to a total of 4,096 characters.
The semicolon ( ; ):
When a command is typed in the Command Window and the Enter key is pressed, the command is executed. Any output that the command generates is dis played in the Command Window. If a semicolon ( ; ) is typed at the end of a com mand, the output of the command is not displayed. Typing a semicolon is useful when the result is obvious or known, or when the output is very large.
If several commands are typed in the same line, the output from any of the commands will not be displayed if a semicolon instead of a comma is typed between the commands.
Typing%:
When the symbol% (percent) is typed at the beginning of a line, the line is desig
Enter
nated as a comment. This means that when the key is pressed the line is not executed. The% character followed by text (comment) can also be typed after a command (in the same line). This has no effect on the execution of the command.
Usually there is no need for comments in the Command Window. Comments, however, are frequently used in a program to add descriptions or to explain the program (see Chapters 4 and 6).
The c l c command: The clc command (type clc and press Enter) clears the Command Window.
After typing in the Command Window for a while, the display may become very long. Once the clc command is executed, a clear window is displayed. The com mand does not change anything that was done before. For example, if some vari
1.6), ables were defined previously (see Section they still exist and can be used.
The up-arrow key can also be used to recall commands that were typed before.
The Command History Window:
The Command History Window lists the commands that have been entered in the Command Window. This includes commands from previous sessions. A com mand in the Command History Window can be used again in the Command Win dow. By double-clicking on the command, the command is reentered in the Command Window and executed. It is also possible to drag the command to the Command Window, make changes if needed, and then execute it. The list in the Command History Window can be cleared by selecting the lines to be deleted and
1.3 Arithmetic with Scalars
11
then right-clicking the mouse and selecting Delete Selection. The whole history can be deleted by right-clicking the mouse and selecting choose Clear Command
History in the menu that opens.
1.3 ARITHMETIC OPERATIONS WITH SCALARS
In this chapter we discuss only arithmetic operations with scalars, which are num bers. As will be explained later in the chapter, numbers can be used in arithmetic calculations directly (as with a calculator) or they can be assigned to variables, which can subsequently be used in calculations. The symbols of arithmetic opera tions are:
- Addition 5+3
Subtraction 5-3
- Multiplication 5*3 Right division
I 5/3
Left division \ 5\3=3/5
A
Exponentiation
5 A 3 (means 53= 125)
It should be pointed out here that all the symbols except the left division are the same as in most calculators. For scalars, the left division is the inverse of the right division. The left division, however, is mostly used for operations with arrays, which are discussed in Chapter
3.
1.3.1 Order of Precedence
MATLAB executes the calculations according to the order of precedence dis played below. This order is the same as used in most calculators.
Precedence Mathematical
First Parentheses. For nested parentheses, the innermost are executed ftrst. Second Exponentiation.
Third Multiplication, division (equal precedence). Fourth Addition and subtraction.
In an expression that has several operations, higher-precedence operations are executed before lower-precedence operations. If two or more operations have the same precedence, the expression is executed from left to right. As illustrated in the next section, parentheses can be used to change the order of calculations.
12
1.3.2 Using MATLAB as a Calculator
The simplest way to use MATLAB is as a calculator. This is done in the Com mand Window by typing a mathematical expression and pressing the Enter key. = MATLAB calculates the expression and responds by displaying followed
ans
by the numerical result of the expression in the next line. This is demonstrated in Tutorial 1-1.
Tutorial1-1: Using MATLAB as a calculator .
» 7+8/2 = Type and press Enter. ans 8/2 is executed first.
11 » Type and press Enter.
(7+8)/2 = ans 7+8 is executed first.
7.5000 >>
4+5/3+2 = ans 5/3 is executed first.
7.6667 »
5 ... 3/2 = ans 5A3 is executed first, /2 is executed next.
62.5000 >>
27 ... (1/3)+32 ... 0.2 = 1/3 is executed frrst, 27A(1/3) and 32A0.2 are ans executed next, and is executed last.
- 5
>> 27 ... 1/3+32 ... 0.2
27A1 and 32A0.2 are executed frrst, /3 is exe
ans cuted next, and + is executed last.
11
- • • •
» 0. 7854-(0. 7854) ... 3/ (1*2*3) +0. 785 ... 5/ (1*2*3*4*5)
- (0.785) ... 7/(1*2*3*4*5*6*7)
Type three periods ... (and press to continue the expression on the next line.
ans 0.7071
The last expression is the first four
>>
terms of the Taylor series for sin(1t/4).
1.4 DISPLAY FORMATS The user can control the format in which MATLAB displays output on the screen.
In Tutorial 1-1, the output format is fixed-point with four decimal digits (called short), which is the default format for numerical values. The format can be
1.4 Formats
4 » 290/7
13
format loose Adds empty lines (opposite of compact ) .
information displayed on the screen.
41.43 format compact Eliminates empty lines to allow more lines with
290/7 floating point. ans = 41.4285714285714 format bank Two decimal digits. » 290/7 ans =
Best of 15-digit fixed or »
290/7 floating point. ans = 41.429 format long g
Best of 5-digit fixed or »
4.142857142857143e+001 format short g
decimal digits. ans =
4.1429e+001 format long e Scientific notation with 15 » 290/7
decimal digits. ans =
changed with the format command. Once the format command is entered, all the output that follows is displayed in the specified format. Several of the avail able formats are listed and described in Table 1-2.
MATLAB has several other formats for displaying numbers. Details of these formats can be obtained by typing
Otherwise display format long e.
0.001 :5: number :5: 100 41.428571428571431
digits for: ans =
290/7
Fixed-point with 15 decimal »
format long
Otherwise display format short e.
0.001 :5: number :5: 1000 41.4286
digits for: ans =
Table 1-2: Display formats Command Description Example format short Fixed-point with
4 decimal
» 290/7in the Command Window. The format in which numbers are displayed does not affect how MATLAB computes and saves numbers.
help format
format short e Scientific notation with
14 1: with MATLAB
1.5 ELEMENTARY MATH BUILT-IN FUNCTIONS
In addition to basic arithmetic operations, expressions in MATLAB can include functions. MATLAB has a very large library of built-in functions. A function has a name and an argument in parentheses. For example, the function that calculates the square root of a number is sqrt (x). Its name is sqrt, and the argument is
x. When the function is used, the argument can be a number, a variable that has
been assigned a numerical value (explained in Section 1.6), or a computable expression that can be made up of numbers and/or variables. Functions can also be included in arguments, as well as in expressions. Tutorial1-2 shows examples
sqrt (x)
of using the function when MATLAB is used as a calculator with sca lars. >> Tutorial1-2: Using the sqrt built-in function.
sqrt(64) = Argument is a number. >> ans sqrt(50+14*3) = Argument is an expression. ans >> 9.5917 sqrt(54+9*sqrt(100)) = Argument includes a function. ans >>
12 (15+600/4)/sqrt(121)