Upload
siva-gopal
View
71
Download
6
Embed Size (px)
Citation preview
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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 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
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
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
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
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
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
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'
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
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
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)
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
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
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
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
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
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
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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]
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
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 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
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
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
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
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
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 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
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.
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.
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
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
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
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.)
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 )
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
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
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
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
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.
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
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
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
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
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
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
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
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
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
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 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
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
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