BMayerChabotCollegeedu EngrMathPhysics 25 Chp1 MATLAB OverView Part1 Learning Goals Turn On MATLAB and use as a calculator Create Basic Cartesian Plots Write and Save simple Script Programfiles ID: 760168
Download Presentation The PPT/PDF document "Bruce Mayer, PE Licensed Electrical &..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
Bruce Mayer, PELicensed Electrical & Mechanical EngineerBMayer@ChabotCollege.edu
Engr/Math/Physics 25
Chp1 MATLAB
OverView: Part-1
Slide2Learning Goals
Turn On MATLAB and use as a calculatorCreate Basic Cartesian PlotsWrite and Save simple “Script” Program-filesExecute Conditional StatementsIF, THEN, ELSE, >, <, >=, etc.Execute Loop StatementsFOR & WHILE
Slide3MATLAB Environment
TWO Interaction Modes
INTERACTIVE
Type in the COMMAND WINDOW
Often Called a Command-Window “Session”
Interaction is NOT Saved to Disk
Commands (NOT results) Stored in “Command History” Buffer Window
STORED → Two Types
SCRIPT Files
FUNCTION Files
Slide4MATLAB Command Window
Typing
Occurs
Here
Slide5Example Cmd Window Session
>> %Use MATLAB As Calculator>> 17*19ans = 323>> 77/19 -4.3ans = -0.2474>> 64^(1/3) + 32^0.2ans = 6
>> (7+11)*2.5ans = 45>> L = 14.4L = 14.4000>> W = 13.3W = 13.3000>> Area = L*WArea = 191.5200
Time For
Live Demo
Slide6Script/Function File Editor
Slide7Script & Function Files (m-files)
SCRIPTS and FUNCTIONS in MATLAB are stored in text files that end with the extension “.m”
These files are called m-files
SCRIPTS (a.k.a. “programs”)
Scripts files are useful for automating tasks that may need to be repeated.
They have no input/output parameters
They can (but probably shouldn’t) share variables with the command workspace
Slide8Script & Function Files (m-files)
SCRIPTS (cont.)
Scripts are sequences of interactive statements stored in a file
i.e., They look liked Stored versions of Command Window Sessions
FUNCTIONS (a.k.a. “subroutines”)
Function m-files are MATLAB subprograms analogous to FORTRAN Subroutines, or C functions
They communicate with the command window and other functions via a list of INPUT and OUTPUT PARAMETERS or ARGUMENTS
Slide9Script & Function Files (m-files)
FUNCTIONS (cont.)
Functions COMMUNICATE with the COMMAND WINDOW and
other m-files
via a list of input and output variables
LOCAL variables are variables defined INSIDE the function
They only can be used inside the function in which they reside.
The number of output parameters used when a function is called must match the number of outputs
that the
function is
expected to return
Slide10Entering Commands & Expressions
MATLAB retains your previous keystrokes.
Use the up-arrow (↑) key to scroll back through the commands.
Press the key (↑) once to see the previous entry, and so on.
Use the down-arrow (↓) key to scroll forward.
Edit a line using the left (←) & right (→) arrow keys the
Backspace
key, and the
Delete
key.
Press the
Enter
key to execute the command
Slide11Arithmetic Scalar Operations
SymbolOperationMATLAB^exponentiation: aba^b*multiplication: aba*b/right division: a/ba/b\left division: b/aa\b+addition: a + ba + b-subtraction: a - ba - b
LEFT-Division
A\
b
read from
Right-to-Left as: “
b
divided by
A
”
Slide12Math Op Precedence (PEMDAS)
Precedence Operation
First Parentheses, evaluated starting with the innermost pair.
Second Exponentiation, evaluated from left to right.
Third Multiplication and Division with EQUAL precedence, evaluated from left to right.
Fourth Addition and Subtraction with EQUAL precedence, evaluated from left to right.
Slide13Precedence Examples
>> 8+3*5ans = 23>> 8 + (3*5)ans = 23>>(8 + 3)*5ans = 55
>> 4^2-12-8/4*2ans = 0>> 4^2-12-8/(4*2)ans = 3
4
1
Slide14Precedence Examples cont.
>> 3*4^2 + 5ans = 53>>(3*4)^2 + 5ans = 149
>>27^(1/3) + 32^0.2ans = 5>>27^1/3 + 32^0.2ans = 11
3
9
48
144
Slide15“=“ → Assignment Operator
Typing
x = 3
ASSIGNS the value
3
to
the variable
x
.
We can then type
x = x + 2
. This assigns the value
3
+ 2 = 5 to
x
. But in algebra this implies that 0 = 2.
In algebra we can write x+2 = 20, but in MATLAB we cannot.
In MATLAB the LEFT side of the = operator MUST be a
SINGLE
variable.
The Right side must be a
computable
value
Slide16Work Session Commands
CommandDescriptionclcClears the Command windowclearRemoves all variables from memoryclear v1 v2 Removes the variables v1 and v2 from memoryexist(‘var’)Determines if a file or variable exists having the name ‘var’quitStops MATLAB
Slide17Work Session Commands cont.1
CommandDescriptionwhoLists the variables currently in memorywhosLists the current variables and sizes, and indicates if they have imaginary parts.: (Colon)Generates an array having regularly spaced elements, (Comma)Separates elements of an array; (Semicolon)Suppresses screen printing; also denotes a new row in an array… (Ellipsis)Continues a line
Slide18whos on First???
Slide19Special VARS & const’s
CommandDescriptionansTemporary variable containing the most recent answerepsSpecifies the accuracy of floating point precisioni,jThe imaginary unit (-1)InfInfinity (unbounded magnitude)NaNIndicates an undefined numerical result; a.k.a., Not a NumberpiThe number pi (3.14159...)
NaN returns the IEEE arithmetic representation for Not-a-Number (NaN). These result from operations which have undefined numerical results;. e.g., try Q = 0/0
Slide20The Complex Plane
Im (i or j)
Re
Slide21Complex-Number Operations
The number c1 = 1 – 2i is entered as:
c1 = 12i
or
c1 = 1-2j
An Asterisk is NOT needed between i or j and a NUMBER, although it is required with a VARIABLE, such as
c2 =
5 -
i
*c1
.
Be careful. The expressions
y = 7/2*i
and
x = 7/2j
give two DIFFERENT results:
y = (7/2)i = 3.5i
and x = 7/(2j) = –3.5j
Slide22Complex Arithmetic
>> Im_Pwr = Z1^3.84Im_Pwr = -1.6858e+004 -2.5886e+004i>> e_to_Z = exp(Z2)e_to_Z = 6.8518e+006 -2.3163e+007i
>>
ln_Z = log(Z1)ln_Z = 2.6922 + 1.0769i
>> Log_Z = log10(Z2)
Log_Z =
1.2485 + 0.1242i
Slide23Special VARS & const’s
Command
Description
format short
Four decimal digits (the default); 13.6745
format long
16 digits; 17.27484029463547
format short e
Five digits (four decimals) plus exponent; 6.3792e+03
format long e
16 digits (15 decimals) plus exponent; 6.379243784781294e–04
Slide24Discrete Math Funtions
Command
Description
factor(n)
Returns a row vector containing the prime factors of
n
.
gcd(m,n)
Finds the Greatest Common Divisor/Factor of
m
&
n
lcm(m,n)
Finds the Least Common Multiple for
m
&
n
factorial(n)
Returns the factorial of
n
; i.e., returns
n
! = 1*2*3…(n-2)*(n-1)*n
primes(n)
Finds all prime numbers less than
n
isprime(n)
Determines if
n
is a prime number
Slide25Discrete Math Examples
factor777 = factor(777)factor777 = 3 7 37GCF = gcd(1001, 1105)GCF = 13F7 = factorial(7)F7 = 5040
P93 = primes(93)
P93 =
Columns 1 through 12
2 3 5 7 11 13 17 19 23 29 31 37
Columns 13 through 24
41 43 47 53 59 61 67 71 73 79 83 89
Slide26Arrays
An ARRAY is an ORDERED SET of Numbers of with n DIMENSIONSA regular Number (a SCALAR) is an Array of Dimension ZEROa VECTOR is a 1-Dim Array
a
MATRIX
is an ARRAY of Dim 2with specialproperties
Slide27Arrays in MATLAB
The numbers 0, 0.1, 0.2, …, 10 can be assigned to the array variable
u
by typing
u = [0:0.1:10]
To compute
w = 5 sin u
for u = 0, 0.1, 0.2, 0.3, 0.4,…, 10, the command session is;
>>u = [0:0.1:10];
>>w = 5*sin(u);
The single line,
w = 5*sin(u)
, computed the formula, w = 5 sin(u), 101 times.
Slide28Array Index
>>u(7)ans = 0.6000>>w(7)ans = 2.8232Use the LENGTH function to determine how many values are in an array.>>m = length(w)m = 101
Slide29Polynomial Roots
MATLAB has a Way-Cool Polynomial
Root Finder
Find the roots of x
3
− 7x
2
+ 40x − 34 = 0
>>a = [1,-7,40,-34];
>>roots(a)
ans =
3.0000 + 5.000i
3.0000 - 5.000i
1.0000
The roots are x = 1 and x = 3 ± 5i
Slide305th Order Polynomial
Find the roots of the 5th Order function
>> r5 = [1,-9,35,-65,64,-26];
>> roots(r5)
ans = 3.0000 + 2.0000i 3.0000 - 2.0000i 1.0000 + 1.0000i 1.0000 - 1.0000i 1.0000
The roots of g(y)
y
1,2
= 3 ± 2j
y
3,4
= 1 ± j
y
5
= 1
Slide31Common Math Functions
FcnMATLABFcnMATLABexexp(x)sin xsin(x)√xsqrt(x)tan xtan(x)ln xlog(x)cos-1 xacos(x)log10 xlog10(x)sin-1 xasin(x)cos xcos(x)tan-1 x atan(x)
Note that MATLAB Trig functions Operate on RADIANSConvert using Ratio: -rads per 180°
Slide32The “d” Trig Comands for Degrees
>> T1 = sind(77)T1 = 0.9744>> T2 = cosd(19)T2 = 0.9455>> T3 = tand(53)T3 = 1.3270
>> T4 = asin
d
(.497)
T4 =
29.8017
>> T5 = acos
d
(0.629)
T5 =
51.0236
>> T6 = atan
d
(1.73)
T6 =
59.9706
Slide33Printing From Command Window - 1
Note: MATLAB “Comments” Start with the “
%” Sign
Text
to
Print
Slide34Printing From Command Window - 2
SELECTText to
Print
Slide35Printing From Command Window - 3
Send to printer from Print Dialog Box
CaveatIn a COMMAND WINDOW session once you Hit Enter () you can NOT Go back to Edit the TextCan Save your command sequence as an m-file SCRIPT
Slide36Alternative Cmd Window Printing
Perform MATLAB OperationSelect Desired TextCOPY text to the Windows Paste BufferOpen Text applicationMSWord, WordPad, NotePad, etc.
PASTE the MATLAB Text Into the Text ProcessorPrint from the Text Processor as Usual
Slide37DIARY Function to Record Cmnds
Keeping a Session Log
→
The
diary
Function
The
diary function creates a copy of your session in MATLAB on a disk file
, including keyboard input and system responses, but excluding graphics. You can view and edit the resulting text file using any text editor, such as the MATLAB Editor. To create a file on your disk called sept23.out that contains all the functions you enter, as well as output from MATLAB, enter
diary('sept23.out')
To stop recording the session, use
diary('off')
To view the file, run
edit('sept23.out')
Slide38Command Execution Hierarchy
When you type
problem1
MATLAB first checks to see if
problem1
is a
variable
and if so, displays its value.
If not, MATLAB then checks to see if
problem1
is one of its
own commands
, and
executes it if it is.
If not, MATLAB then looks in the
current directory
for a file named
problem1.m
and executes problem1 if it finds it.
If not, MATLAB then searches the
directories in its search path
, in order, for
problem1.m
and then executes it if found.
Slide39System, Directory, File Cmnds
Command
Description
addpath dirnameAdds the directory dirname to the search path.cd dirnameChanges the current directory to dirnamedirLists all files in the current directorydir dirnameLists all the files in the directory dirname pathDisplays the MATLAB search pathpathtoolStarts the Set Path tool
HINT: Consider putting ALL your m-files in ONE Folder/Directory
Slide40Plotting with MATLAB
Plot over 573°
Slide41MATLAB Plotting Commands
Command
Description
plot(x,y)
Generates a plot of the array
y
versus the array
x
on rectilinear axes
title(’text’)
Puts text in a title at the top of the plot
xlabel(’text’)
Adds a text label to the horizontal axis (the abscissa).
ylabel(’text’)
Adds a text label to the vertical axis (the ordinate).
grid
Puts grid lines on the plot
gtext(’text’)
Enables placement of text with the mouse
Slide42DeskTop Recoveryto UnScramble the DeskTop
Slide43DeskTop “Recovery”
Slide44Example Problem 1-21
Plot This Function
Time ForLive Demo
Where
T
Temperature (°C)
t time (minutes)
For: 1 t 3
Slide45All Done for Today
Tutorial on
HomeWorkConstructionNext Time
A VERY Important Meeting
Slide46Bruce Mayer, PELicensed Electrical & Mechanical EngineerBMayer@ChabotCollege.edu
Engr/Math/Physics 25
Appendix
Slide47Example Demo Session
>> %Use MATLAB As Calculator>> 17*19ans = 323>> 77/19 -4.3ans = -0.2474>> 64^(1/3) + 32^0.2ans = 6
>> (7+11)*2.5
ans =
45
>> L = 14.4
L =
14.4000
>> W = 13.3
W =
13.3000
>> Area = L*W
Area =
191.5200
Slide48Prob 1-21 Command Script
From the Command Window
>> t = [1:0.02:3];
>> T = 6*log(t) - 7*exp(0.2*t);
>> plot(t,T), xlabel('time (min)'),ylabel('Temperature (°C)'), title('Problem 1-21'), grid
Slide49Prob 1-22 Plot
Slide50Slide51System, Directory, File Cmnds
Command
Description
pwd
Displays the current directory
cd dirname
Changes the current directory to
dirname
rmpath dirname
Removes the directory
dirname
from the search path.
what
Lists the MATLAB-specific files found in the current working directory. Most data files and other non-MATLAB files are not listed. Use dir to get a list of all files
what dirname
Lists the MATLAB-specific
files in directory
dirname
Slide52