MATLAB, 4th Edition ebook free download

  

  This page intentionally left blank

  ® ATLAB M

  An Introduction

with Applications

  This page intentionally left blank

  ® ATLAB M

  An Introduction

with Applications

Fourth Edition Amos Gilat Department of Mechanical Engineering The Ohio State University

  JOHN WILEY & SONS, INC. VP & EXECUTIVE PUBLISHER Don Fowley PUBLISHER Dan Sayre MARKETING MANAGER Christopher Ruel EDITORIAL ASSISTANT Katie Singleton DESIGNER Wendy Lai MEDIA EDITOR Thomas Kulesa PRODUCTION MANAGER Micheline Frederick PRODUCTION EDITOR Amy Weintraub Cover images: Amos Gilat

This book was printed and bound by Malloy Lithographers. The cover was printed by

Malloy Lithographers.

  This book is printed on acid free paper.

  

Copyright © 2011 John Wiley & Sons, Inc. All rights reserved. No part of this publi-

cation may be reproduced, stored in a retrieval system or transmitted in any form or

by any means, electronic, mechanical, photocopying, recording, scanning or other-

wise, except as permitted under Sections 107 or 108 of the 1976 United States Copy-

right Act, without either the prior written permission of the Publisher, or authorization

through payment of the appropriate per-copy fee to the Copyright Clearance Center,

Inc. 222 Rosewood Drive, Danvers, MA 01923, website Requests to the Publisher for permission should be addressed to the Permissions

Department, John Wiley & Sons, Inc., 111 River Street, Hoboken, NJ 07030-5774,

(201)748-6011, fax (201)748-6008, website

"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 of charge return shipping

Outside of the United States, please contact your local representative."

  Library of Congress Cataloging in Publication Data:

  ISBN-13 978-0-470-76785-6 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 of MATLAB.

  This fourth edition of the book is updated to MATLAB 7.11 (Release 2010b). Other modifications/changes to this edition are: programming (now

  Chapter 6) is introduced before user-defined functions (now Chapter 7), applica- tions in numerical analysis (now Chapter 9) follows polynomials, curve fitting and interpolation that is covered in Chapter 8. The last two chapters are 3D plot- ting (now Chapter 10) and symbolic math (Chapter 11). In addition, the end of chapter problems have been revised. There are many more problems in every chapter, and close to 80% are new of different than in previous editions. In addi- tion, the problems cover a wider range of topics.

  I would like to thank several of my colleagues at The Ohio State University. Professors Richard Freuler, Mark Walter, and Walter Lampert, and Dr. Mike Parke read sections of the book and suggested modifications. I also appreciate the involvement and support of Professors Robert Gustafson and John Demel and Dr. John Merrill from the First-Year Engineering Program at The Ohio State Univer- sity. Special thanks go to Professor Mike Lichtensteiger (OSU), and my daughter Tal Gilat (Marquette University), who carefully reviewed the first edition of the book and provided valuable comments and criticisms. Professor Brian Harper (OSU) has made a significant contribution to the new end of chapter problems in the present edition.

  I would like to express my appreciation to all those who have reviewed the first edition 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 Kwor, 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

  v

   Preface

  of Iowa; Brian Vick, Virginia Polytechnic Institute and State University; Jay Weitzen, University of Massachusetts, Lowell; and Jane Patterson Fife, The Ohio State University. In addition, I would like to acknowledge Daniel Sayre, Ken San- tor, and Katie Singleton, all from John Wiley & Sons, who supported the produc- tion of the Fourth edition.

  I hope that the book will be useful and will help the users of MATLAB to enjoy the software. Amos Gilat Columbus, Ohio November, 2010 gilat.1@osu.edu

  To my parents Schoschana and Haim Gelbwacks

  Contents Preface v Introduction

  1 Chapter 1 Starting with MATLAB

  5

  1.1 S TARTING MATLAB, MATLAB W

  INDOWS

  5

  1.2 W ORKING

  IN THE C OMMAND W

  INDOW

  9

  1.3 A RITHMETIC O PERATIONS WITH S CALARS

  10

  1.3.1 Order of Precedence

  11

  1.3.2 Using MATLAB as a Calculator

  11

  1.4 D

  ISPLAY F ORMATS

  12

  • 1.5 E LEMENTARY M ATH B UILT

  IN F UNCTIONS

  13

  1.6 D EFINING S CALAR

  V ARIABLES

  16

  1.6.1 The Assignment Operator

  

16

  1.6.2 Rules About Variable Names

  18

  1.6.3 Predefined Variables and Keywords

  18

  1.7 U SEFUL C OMMANDS FOR M ANAGING

  V ARIABLES

  19

  1.8 S CRIPT F

  ILES

  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 E

  XAMPLES OF MATLAB A PPLICATIONS

  24

  1.10 P ROBLEMS

  27 Chapter 2 Creating Arrays

  35

  2.1 C REATING A O NE -D

  IMENSIONAL A RRAY (V ECTOR )

  35

  2.2 C REATING A T WO -D

  IMENSIONAL A RRAY (M ATRIX )

  39

2.2.1 The zeros, ones and, eye Commands

  40

  2.3 N OTES A BOUT

  V ARIABLES

IN MATLAB

  41

  2.4 T HE T RANSPOSE O PERATOR

  

41

  2.5 A RRAY A DDRESSING

  42

  2.5.1 Vector

  42

  2.5.2 Matrix

  43

  2.6 U SING A C OLON :

  

IN A DDRESSING A RRAYS

  44

  2.7 A DDING E LEMENTS TO E

  XISTING

  V ARIABLES

  46

  2.8 D ELETING E LEMENTS

  48

  • 2.9 B UILT

  IN F UNCTIONS FOR H ANDLING A RRAYS

  49

  2.10 S TRINGS AND S TRINGS AS

  V ARIABLES

  53

  2.11 P ROBLEMS

  55 Chapter 3 Mathematical Operations with Arrays

  63

  3.1 A DDITION AND S UBTRACTION

  

64

  3.2 A RRAY M ULTIPLICATION

  65

  3.3 A RRAY D

  IVISION

  68 vii

   Contents

  • 3.4 E LEMENT BY -E LEMENT O PERATIONS

  72

  3.5 U - SING A RRAYS

  IN MATLAB B UILT

  IN M ATH F UNCTIONS

  75

  • 3.6 B UILT

  IN F UNCTIONS FOR A NALYZING A RRAYS

  75

  3.7 G ENERATION OF R ANDOM N UMBERS

  77

  3.8 E

  XAMPLES OF MATLAB A PPLICATIONS

  80

  3.9 P ROBLEMS

  86 Chapter 4 Using Script Files and Managing Data

  95

  4.1 T HE MATLAB W ORKSPACE AND THE W ORKSPACE W

  INDOW

  96

  4.2 I NPUT TO A S CRIPT F

  ILE

  97

  4.3 O UTPUT C OMMANDS

  100

  4.3.1 The disp Command 101

  4.3.2 The fprintf Command 103

  4.4 T HE AND OMMANDS save load C 111

  4.4.1 The save Command 111

  4.4.2 The load Command 112

  4.5 I MPORTING AND E

  XPORTING D ATA 114

  4.5.1 Commands for Importing and Exporting Data

  114

  4.5.2 Using the Import Wizard

  

116

  4.6 E

  XAMPLES OF MATLAB A PPLICATIONS 118

  4.7 P ROBLEMS

  123

Chapter 5 Two-Dimensional Plots 133

  5.1 T HE OMMAND plot C 134

  5.1.1 Plot of Given Data

  138

  5.1.2 Plot of a Function

  139

  5.2 T HE OMMAND fplot C 140

  5.3 P LOTTING M ULTIPLE G RAPHS

  IN THE S AME P LOT 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 143

  5.4 F ORMATTING A P LOT

  144

  5.4.1 Formatting a Plot Using Commands

  144

  5.4.2 Formatting a Plot Using the Plot Editor

  148

  5.5 P LOTS WITH L OGARITHMIC A

  XES 149

  5.6 P LOTS WITH E RROR B ARS

  150

  5.7 P LOTS WITH S PECIAL G RAPHICS

  152

  5.8 H

  ISTOGRAMS 153

  5.9 P OLAR P LOTS

  156

  5.10 P UTTING M ULTIPLE P LOTS ON THE S AME P AGE

  157

  5.11 M ULTIPLE F

  IGURE W

  INDOWS

157

  5.12 E

  XAMPLES OF MATLAB A PPLICATIONS 159

  5.13 P ROBLEMS

  163

  Contents

Chapter 6 Programming in MATLAB 173

  6.1 R ELATIONAL AND L OGICAL O PERATORS

  174

  6.2 C ONDITIONAL S TATEMENTS

  

182

  6.2.1 The if-end Structure 182

  6.2.2 The if-else-end Structure 184

  6.2.3 The if-elseif-else-end Structure 185

  6.3 T HE TATEMENT switch-case S 187

  6.4 L OOPS

  190

  6.4.1 for-end Loops 190 6.4.2 while-end Loops 195

  6.5 N ESTED L OOPS AND N ESTED C ONDITIONAL S TATEMENTS

  198

  6.6 T HE AND OMMANDS break continue C 200

  6.7 E

  XAMPLES OF MATLAB A PPLICATIONS 201

  6.8 P ROBLEMS

  209

  Chapter 7 User-Defined Functions and Function Files 219

  7.1 C REATING A F UNCTION F

  ILE

220

  7.2 S TRUCTURE OF A F UNCTION F

  

ILE

221

  7.2.1 Function Definition Line

  

222

  7.2.2 Input and Output Arguments

  222

  7.2.3 The H1 Line and Help Text Lines

  224

  7.2.4 Function Body

  224

  7.3 L OCAL AND G LOBAL

  V ARIABLES

  224

  7.4 S AVING A F UNCTION F

  ILE 225

  7.5 U SING A U SER -D EFINED F UNCTION

  226

  7.6 E

  XAMPLES OF S

  

IMPLE U SER -D EFINED F UNCTIONS

227

  7.7 C OMPARISON BETWEEN S CRIPT F

  ILES AND F UNCTION F

  ILES 229

  7.8 A NONYMOUS AND

  I NLINE F UNCTIONS

  229

  7.8.1 Anonymous Functions

  230

  7.8.2 Inline Functions

  233

  7.9 F UNCTION F UNCTIONS

  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 S UBFUNCTIONS

  240

  7.11 N ESTED F UNCTIONS

  242

  7.12 E

  XAMPLES OF MATLAB A PPLICATIONS 245

  7.13 P ROBLEMS

  248

  Chapter 8 Polynomials, Curve Fitting, and Interpolation 261

  8.1 P OLYNOMIALS

  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 of Polynomials

  266

  8.2 C URVE F

  ITTING 267

   Contents

8.2.1 Curve Fitting with Polynomials; The polyfit Function 267

  8.2.2 Curve Fitting with Functions Other than Polynomials

  271

  8.3 I NTERPOLATION

  274

  8.4 T HE B ASIC F

  ITTING

  I NTERFACE

  278

  8.5 E

  XAMPLES OF MATLAB A PPLICATIONS 281

  8.6 P ROBLEMS

  286

  Chapter 9 Applications in Numerical Analysis 295

  9.1 S OLVING AN E QUATION WITH O NE

  V ARIABLE

  295

  9.2 F

  INDING A M

  

INIMUM OR A M AXIMUM OF A F UNCTION

298

  9.3 N UMERICAL

  I NTEGRATION

  300

  9.4 O RDINARY D

  IFFERENTIAL E QUATIONS 303

  9.5 E

  XAMPLES OF MATLAB A PPLICATIONS 307

  9.6 P ROBLEMS

  313

  Chapter 10 Three-Dimensional Plots 323

  10.1 L

  INE P LOTS 323

  10.2 M ESH AND S URFACE P LOTS

  

324

  10.3 P LOTS WITH S PECIAL G RAPHICS

  331

  10.4 T HE OMMAND view C 333

  10.5 E

  XAMPLES OF MATLAB A PPLICATIONS 336

  10.6 P ROBLEMS

  341

  Chapter 11 Symbolic Math 347

  11.1 S YMBOLIC O BJECTS AND S YMBOLIC E

  XPRESSIONS 348

  11.1.1 Creating Symbolic Objects

  348

  11.1.2 Creating Symbolic Expressions

  350

  11.1.3 The findsym Command and the Default Symbolic Variable

  353

  11.2 C HANGING THE F ORM OF AN E

  XISTING S YMBOLIC E

  XPRESSION 354

  11.2.1 The collect, expand, and factor Commands 354

  11.2.2 The simplify and simple Commands 356

  11.2.3 The pretty Command 357

  11.3 S OLVING A LGEBRAIC E QUATIONS

  358

  11.4 D

  IFFERENTIATION 363

  11.5 I NTEGRATION

  365

  11.6 S OLVING AN O RDINARY D

  IFFERENTIAL E QUATION 366

  11.7 P LOTTING S YMBOLIC E

  XPRESSIONS 369

  11.8 N UMERICAL C ALCULATIONS WITH S YMBOLIC E

  XPRESSIONS 372

  11.9 E

  XAMPLES OF MATLAB A PPLICATIONS 376

  11.10 P ROBLEMS

  384 Appendix: Summary of Characters, Commands, and Functions 393 Answers to Selected Problems 401 Index 413

  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 previous knowledge of programming 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 Purpose 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 of MATLAB by students and practicing engineers. In 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.

  Topics 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

   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 coverage of two-dimensional plotting in Chapter 5. Programming with MATLAB is introduced in Chapter 6. This includes flow control with conditional statements and loops. User-defined functions, anonymous functions, and function functions are covered next in Chapter 7. The coverage of function files (user-defined 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 Typical Chapter

  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

  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 of the sample problems are written such that they are easy to 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.

  Symbolic 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 7.11, Release 2010b. 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 Topics 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 of MATLAB 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 fourth edition of the book is a little bit different than in previous editions. Pro- gramming is introduced before user-defined functions. This allows using pro- gramming in user-defined functions. Also, applications of MATLAB in numerical analysis (now Chapter 9, previously 10) follow Chapter 8 which covers polynomi- als, curve fitting, and interpolation.

  This page intentionally left blank

Chapter 1 Starting with MATLAB This chapter begins by describing the characteristics and purposes of the different

  windows in MATLAB. Next, the Command Window is introduced in detail. This chapter shows how to use MATLAB for arithmetic operations with scalars in a fashion similar to the way that a calculator is used. This includes the use of ele- mentary math functions with scalars. The chapter then shows how to define scalar variables (the assignment operator) and how to use these variables in arithmetic calculations. The last section in the chapter introduces script files. It shows how to write, save, and execute simple MATLAB programs.

  TARTING

  INDOWS

1.1 S MATLAB, MATLAB W

  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 (Figure 1-1). The window contains four smaller windows: the Command Window, the Current Folder Window, the Workspace Window, and the Command History Window. This is the default view that shows four of the various windows of MAT- LAB. A list of several windows and their purpose is given in Table 1-1. The Start button on the lower left side can be used to access MATLAB tools and features.

  Four of the windows—the Command Window, the Figure Window, the Editor Window, and the Help Window—are used extensively throughout the book and 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 1.2, 1.8.4, and 4.1, respectively.

  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, and this can be done by either closing all the other windows (click on the x at the top right-hand side of the window you want to close) or by first selecting the Desktop Layout in the Desktop menu, and then

  5

Chapter 1: Starting with MATLAB

  selecting Command Window Only from the submenu that opens. Working in the Command Window is described in detail in Section 1.2.

  Figure 1-1: The default view of MATLAB desktop. 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. Workspace Window Provides information about the variables that are used. 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.

  1.1 Starting MATLAB, MATLAB Windows Figure 1-2: Example of a Figure Window.

  Editor Window: The Editor Window is used for writing and editing programs.

  This window is opened from the File menu. 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.

  Figure 1-3: Example of an Editor Window.

  Help Window: The Help Window contains help information. This window can

  be opened from the Help menu in the toolbar of any MATLAB window. The Help Window is interactive and can be used to obtain information on any feature of MATLAB. Figure 1-4 shows an open Help Window.

  Chapter 1: Starting with MATLAB Figure 1-4: The 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 win-

  dows except the Command Window. (Each of the windows can be closed by clicking on the button.) The closed windows can be reopened by selecting them from the Desktop menu. The windows shown in Figure 1-1 can be displayed by selecting first Desktop Layout in the Desktop menu and then Default from the submenu. The various windows in Figure 1-1 are docked to the desktop. A window can be undocked (become a separate, independent window) by clicking on the button on the upper right-hand corner. An independent window can be redocked by clicking on the button.

1.2 Working in the Command Window

  ORKING

IN THE OMMAND

  INDOW

1.2 W C W

  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. An example of the Command Window, with several sim- ple commands that will be explained later in this chapter, is shown in Figure 1-5.

  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 command 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 comma between the commands. When the Enter key is pressed the commands are exe- cuted in order from left to right. It is not possible to go back to a previous line that is displayed in the Command Window, make a correction, and then re-execute the command.

  A previously typed command can be recalled to the command prompt with the up- arrow key ( ). When the command is displayed at the command prompt, it can 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 command 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 command is then typed in the new line. The command can con- tinue line after line up to a total of 4,096 characters.

Chapter 1: Starting with MATLAB 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 is typed between the commands instead of a comma.

  Typing %:

  When the symbol % (percent) is typed at the beginning of a line, the line is desig- nated as a comment. This means that when the Enter 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 clc command: The clc command (type clc and press Enter) clears the Command Window.

  After working 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- ables were defined previously (see Section 1.6), 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 then selecting Delete Selection from the Edit menu (or right-click the mouse when the lines are selected and then choose Delete Selection in the menu that opens).

RITHMETIC PERATIONS WITH CALARS

1.3 A O S

  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-

1.3 Arithmetic Operations with Scalars

  tions are:

  Operation Symbol Example

  Addition + 5 + 3 Subtraction 5 – 3 –

  • Multiplication 5 * 3 Right division / 5 / 3 Left division \ 5 \ 3 = 3 / 5
  • 3 Exponentiation ^ 5 ^ 3 (means

      5 = 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 Operation

      First Parentheses. For nested parentheses, the innermost are executed first. 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.

      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 ans = and the numerical result of the expression in the next line. This is demonstrated in Tutorial 1-1.

    Chapter 1: Starting with MATLAB Tutorial 1-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 5/3 is executed first. ans = 7.6667 >> 5^3/2 ans = 5^3 is executed first, /2 is executed next. 62.5000 >> 27^(1/3)+32^0.2

      1/3 is executed first, 27^(1/3) and 32^0.2 are

      ans = executed next, and + is executed last.

       5 >> 27^1/3+32^0.2

      27^1 and 32^0.2 are executed first, /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 Enter) 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( π/4) .

    ISPLAY ORMATS

    1.4 D F 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 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 help format in the Command Window. The format in which numbers are displayed does not affect how MATLAB computes and saves numbers.

      1.5 Elementary Math Built-in Functions

      >> 290/7 ans = 4.142857142857143e+001

      1000 ≤ ≤ 0.001 number

      0.001 number

      format compact Eliminates empty lines to allow more lines with information displayed on the screen. format loose Adds empty lines (opposite of compact).

       41.43

      >> 290/7 ans = 41.4285714285714 format bank Two decimal digits. >> 290/7 ans =

      format long g Best of 15-digit fixed or floating point.

      >> 290/7 ans = 41.429

      format short g Best of 5-digit fixed or floating point.

      format long e Scientific notation with 15 decimal digits.

      1.5 E LEMENTARY M ATH B UILT -

      >> 290/7 ans = 4.1429e+001

      format short e Scientific notation with 4 decimal digits.

      >> 290/7 ans = 41.428571428571431

      format long Fixed-point with 15 decimal digits for: Otherwise display format long e.

      >> 290/7 ans = 41.4286

      format short Fixed-point with 4 decimal digits for: Otherwise display format short e.

      Table 1-2: Display formats Command Description Example

      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. Tutorial 1-2 shows examples

      

    IN F UNCTIONS

      100 ≤ ≤

    Chapter 1: Starting with MATLAB

      of using the function sqrt(x) when MATLAB is used as a calculator with sca- lars.

      Tutorial 1-2: Using the sqrt built-in function. >> sqrt(64) Argument is a number. ans =

       8 >> 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) Function is included in an expression. ans =

       15 >>

      Some commonly used elementary MATLAB mathematical built-in functions are given in Tables 1-3 through 1-5. A complete list of functions organized by cat- egory can be found in the Help Window.

      Table 1-3: Elementary math functions Function Description Example

      Square root. >> sqrt(81) sqrt(x)

      ans =

       9 Real n th root of a real number x . >> nthroot(80,5)

      nthroot(x,n)

      ans =

      (If x is negative n must be an

       2.4022

      odd integer.) x

      >> exp(5)

      exp(x) Exponential . ( ) e

      ans = 148.4132

      Absolute value. >> abs(-24) abs(x)

      ans =

       24 Natural logarithm. >> log(1000)

      log(x)

      ans = Base e logarithm (ln). 6.9078

      Base 10 logarithm. >> log10(1000) log10(x)

      ans = 3.0000

      1.5 Elementary Math Built-in Functions Table 1-3: Elementary math functions (Continued) Function Description Example

      The factorial function x! >> factorial(5) factorial(x)

      ans =

      (x must be a positive integer.)

       120 Table 1-4: Trigonometric math functions Function Description Example

      Sine of angle x (x in radians). >> sin(pi/6) sin(x)

      ans = Sine of angle x (x in degrees). sind(x)

       0.5000

      Cosine of angle x (x in radians). >> cosd(30) cos(x)

      ans = Cosine of angle x (x in degrees).

      cosd(x)

       0.8660

      Tangent of angle x (x in radians). >> tan(pi/6) tan(x)

      ans = Tangent of angle x (x in degrees). tand(x)

       0.5774 >> cotd(30) cot(x) Cotangent of angle ( in radians). x x ans = cotd(x) Cotangent of angle ( in degrees). x x

       1.7321

      The inverse trigonometric functions are asin(x), acos(x), atan(x), acot(x) for the angle in radians; and asind(x), acosd(x), atand(x), acotd(x) for the angle in degrees. The hyperbolic trigonometric functions are sinh(x), cosh(x), tanh(x), and coth(x). Table 1-4 uses pi, which is equal to π (see Section 1.6.3).

      Table 1-5: Rounding functions Function Description Example

      Round to the nearest integer. >> round(17/5) round(x)

      ans =

       3 Round toward zero. >> fix(13/5)

      fix(x)

      ans =