89
Matlab for Engineers 100 200 300 400 500 100 200 300 400 500 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 -5 -4.5 -4 -3.5 -3 -2.5 -2 -1.5 -1 -0.5 0 R ate ofC hange tim e, hour Rate of tem perature change, degrees/hour Matlab Environment Chapter 2

Chapter 2 - Matlab Environment

Embed Size (px)

Citation preview

Page 1: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r Matlab Environment

Chapter 2

Page 2: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

In this chapter we’ll…

• Get started with Matlab• Explore the Matlab windows• Solve some problems using

Matlab• Learn how to save our work

Page 3: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Section 2.1Getting Started

• In Windows or Apple operating systems click on the desktop icon

• In Unix type matlab

At the shell prompt

MATLAB 7.0.lnk

Page 4: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Matlab opens to a default window configuration

Page 5: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

• Matlab uses a standard windows menu bar

• To exit Matlab use the close icon

Page 6: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Command WindowEnter commands at the promptCurrent Directory

MATLAB WindowsCommand History

Workspace Window

Page 7: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

You can use the command window much like you’d use a calculator

The standard order of operation rules apply

Let’s try Practice Exercise 2.1

To watch this demonstration, click in the figure window. To move to the next slide use the down arrow

Page 8: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Section 2.2Matlab Windows

• Matlab uses several different windows to display data, commands and results.

• They are not necessarily all open at once

Page 9: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Let’s look at the windows one at a time

Page 10: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Command Window

• Similar to a scratch pad• Once you hit enter, you can’t edit

any commands• You can retype them or use the

arrow keys to retrieve commands and edit them before hitting enter again

Command Window

Page 11: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Command History

• Records the commands you issue in the command window

• When you exit the command window, or when you issue the clc command, the command window is cleared

• But the command history remains

Command History

Page 12: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Command History

• You can transfer commands from the command history to the command window– Double click on a command– Click and drag

Page 13: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

To watch this demonstration, click in the figure window. To move to the next slide use the down arrow

Page 14: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Workspace Window

• Keeps track of the variables you’ve defined– Name– Value– Class– Size– Bytes

• You may need to click on the name bar and select size and bytes in order to see these parameters

Workspace Window

Page 15: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

To watch this demonstration, click in the figure window. To move to the next slide use the down arrow

Page 16: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

When you define variables in the command window, they are listed in the workspace

window

Page 17: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Scalar

Vector

2-D Matrix

Page 18: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Current Directory

• The current directory window is a list of files

• When you try to load information from a file or try to save information – Matlab uses the current directory

Page 19: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Document Window

• If you double click on any variable in the workspace window Matlab launches a document window containing the array editor

• You can edit variables in the array editor

Page 20: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Document Window

Page 21: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Figure Window

• When Figures are created a new window opens

• It’s extremely easy to create graphs in Matlab

Page 22: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

The semicolon suppresses the output from each command

Page 23: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Page 24: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Editing Window

• This window allows you to type and save a series of commands without executing them

• There are several ways to open an editing window– From the file menu– With the new file icon

Page 25: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Open an editing window from the file menu or with the new file icon

Page 26: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Save and Run

Write your code in the editing window, then run it using the Save and Run icon

Page 27: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Section 2.3Solving Problems with Matlab

• We’ve already solved some simple problems

• We need to understand how Matlab works to solve more complicated problems

Page 28: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Variables

• MATLAB allows you to assign a value to a variable

• A=3• Should be read as A is assigned a

value of 3• Use the variables in subsequent

calculations

Page 29: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Naming Variables

• All names must start with a letter• They may contain letters,

numbers and the underscore ( _ )• Names are case sensitive• There are certain keywords you

can’t use

Page 30: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Use the iskeyword function for a list of keywords

iskeywordans =

'break' 'case' 'catch'

'continue' 'else'

'elseif' 'end' 'for'

'function'

'global' 'if' 'otherwise' 'persistent' 'return' 'switch' 'try' 'while'

Page 31: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

You can reassign function names

• Matlab will let you use built-in function names as variables – but it’s a really bad idea

• sin = 3 changes sin from a function to a

variable name

Page 32: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Practice Exercise 2.2Which of these names are allowed

in Matlab?

• test• Test• if• my-book• my_book• Thisisoneverylongnamebutisitstillallowed?• 1stgroup• group_one• zzaAbc• z34wAwy?12#• sin• log

x

x

x

x

x xbad idea

Page 33: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Matrices in MatlabThe basic data type

• Group of numbers arranged into rows and columns

• Single Value (Scalar)– Matrix with one row and one column

• Vector (One dimensional matrix)– One row or one column

• Matrix (Two dimensional)

Page 34: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Scalar Calculations

• You can use MATLAB like you’d use a calculator

>> 9 + 10ans=19

Command Prompt

Result

Page 35: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Assignment Operator

• To define a variable a we might typea=1+2which should be read as:a is assigned a value of 1+2

Page 36: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

How is the assignment operator different from an equality?

• In algebra the equationx=3+5means that both sides are the same

• In computers when we sayx=3+5we are telling the machine to store the value on the right hand side of the equation in a memory location, and to name that location x

Page 37: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Is that really different?

• Yes!!!• In algebra this is not a true statement

x=x+1• In computers (assignment statements)

it means replace the value in the memory location named x, with a new value equal to x+1

Page 38: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Order of Operation

• Same as you’ve learned in math class

• Same as your calculator– Parentheses first– Exponentiation– Multiplication / division– Addition / subtraction

Page 39: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Order of Operation

5*(3+6) = 45

5*3+6 = 21

White space does not matter!!!

5*3 + 6 = 21

Page 40: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Parentheses

• Use only ( )• { } and [ ] mean something

different • MATLAB does not assume

operators

5 * (3+4) not 5(3+4)

Page 41: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Compute from left to right

5*6/6*5 = 25

5*6/(6*5) = 1

Page 42: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Here’s an exampleFind the surface area of a cylinder

)(222 2 hrrrhrSA

r = radiusr = 5

h = heighth = 10

π r2

π r2

2π r * h

Page 43: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

To watch this demonstration, click in the figure window. To move to the next slide use the down arrow

Page 44: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Array Operations

• Using Matlab as a glorified calculator is OK, but its real strength is in matrix manipulations

Page 45: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

To create a row vector, enclose a list of values in brackets

Page 46: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

You may use either a space or a comma as a “delimiter” in a row vector

Page 47: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Use a semicolon as a delimiter to create a new row

Page 48: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Use a semicolon as a delimiter to create a new row

Page 49: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Hint: It’s easier to keep track of how many values you’ve entered into a matrix, if you enter each row on a separate line. The semicolons are optional

Page 50: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Shortcuts

• While a complicated matrix might have to be entered by hand, evenly spaced matrices can be entered much more readily. The command 

b= 1:5 or the command

b = [1:5] both return a row matrix 

Page 51: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

The default increment is 1, but if you want to use a different increment put it between the first and final values

Page 52: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

To calculate spacing between elements use…

• linspace• logspace

Page 53: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Initial value in the array

Final value in the array

number of elements in the array

Page 54: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Initial value in the array expressed as a power of 10

Final value in the array expressed as a power of 10

number of elements in the array

Page 55: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Hint

• You can include mathematical operations inside a matrix definition statement.

• For example

a = [0: pi/10: pi]

Page 56: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Mixed calculations between scalars and arrays

• Matrices can be used in many calculations with scalars

• There is no confusion when we perform addition and subtraction

• Multiplication and division are a little different 

• In matrix mathematics the multiplication operator (*) has a very specific meaning

Page 57: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Page 58: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Addition between arrays is performed on corresponding elements

Page 59: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Multiplication between arrays is performed on corresponding elements if the .* operator is used

Page 60: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Matlab interprets * to mean matrix multiplication. The arrays a and b are not the correct size for matrix multiplication in this example

Page 61: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Array Operations

• Array multiplication .*• Array division ./• Array exponentiation .^

In each case the size of the arrays must match

Page 62: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

The matrix capability of Matlab makes it easy to do repetitive calculations

• For example, assume you have a list of angles in degrees that you would like to convert to radians. – First put the values into a matrix. – Perform the calculation

Page 63: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Page 64: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Either the * or the .* operator can be used for this problem, because it is composed of scalars and a single matrix

The value of pi is built into Matlab as a floating point number, called pi

Page 65: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

More about pi

• Because pi is an irrational number, it can not be expressed exactly with a floating point representation

• The Matlab constant , pi, is really an approximation.

• If you find sin(pi) Matlab returns a very small number.

Page 66: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Transpose

• The transpose operator changes rows to columns or vice versa.

Page 67: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

The transpose operator makes it easy to create tables

Page 68: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

table =[degrees;radians]’ would have given the same result

Page 69: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

The transpose operator works on both one dimensional and two dimensional arrays

Page 70: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Number Display

• Scientific Notation– Although you can enter any number in

decimal notation, it isn’t always the best way to represent very large or very small numbers

– In Matlab, values in scientific notation are designated with an e between the decimal number and exponent. (Your calculator probably uses similar notation.)

Page 71: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

It is important to omit blanks between the decimal number and the exponent. For example, Matlab will interpret

6.022 e23as two values (6.022 and 1023 )

Page 72: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Display Format

• Multiple display formats are available• No matter what display format you

choose, Matlab uses double precision floating point numbers in its calculations

• Matlab handles both integers and decimal numbers as floating point numbers

Page 73: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Default

• The default format is called short• If an integer is entered it is

displayed without trailing zeros• If a floating point number is

entered four decimal digits are displayed

Page 74: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Other formats

• Changing the format affects all subsequent displays– format long results in 14 decimal

digits– format bank results in 2 decimal

digits– format short returns the display to

the default 4 decimal digits

Page 75: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Really Big and Really Small

• When numbers become too large or too small for Matlab to display using the default format, it automatically expresses them in scientific notation

• You can force scientific notation with – format short e– format long e

Page 76: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Common Scale Factor

• For long and short formats, a common scale factor is applied to the entire matrix if some of the elements become very large, or very small. This scale factor is printed along with the scaled values.

Page 77: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Common Scale Factor

Page 78: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Two other formats

• format +• format rat

Page 79: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Spacing in the command window

• The format command also allows us to control how tightly information is spaced in the command window – format compact– format loose – (default)

• Most of the examples in this presentation use format compact

Notice that the value of A is still being displayed using the rat format, because we haven’t changed it back to format short

Page 80: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Section 2.4Saving Your Work

• If you save a MATLAB session, all that is saved are the values of the variables you have named

Page 81: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Variables are saved, not the work space

Page 82: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Save either by using the file menu or...

Save with a command in the command window

Page 83: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Matlab automatically saves to a .mat file

• If you want to save to another format, such as .dat, you need to explicitly tell the program

save <file_name> <variable_list> -ascii

Page 84: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Script M-files

• If you want to save your work, you need to create an M-file

• File->New->M-file• Type your commands in the edit

window that opens

Page 85: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

• The file is saved into the current directory

• It runs in the command window

Page 86: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Page 87: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Comments

• Be sure to comment your code– Add your name– Date– Section #– Assignment #– Descriptions of what you are doing

and why

Page 88: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

The % sign identifies comments You need one on each line

Page 89: Chapter 2 - Matlab Environment

Matlab for Engineers

100 200 300 400 500

100

200

300

400

500

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

-5

-4.5

-4

-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

Rate of Change

time, hour

Rat

e of

tem

pera

ture

cha

nge,

deg

rees

/hou

r

Summary

• Introduced the MATLAB Windows• Basic matrix definition• Save and retrieve MATLAB data• Create and use script M-files