/
Bruce Mayer, PE Licensed Electrical & Mechanical Engineer Bruce Mayer, PE Licensed Electrical & Mechanical Engineer

Bruce Mayer, PE Licensed Electrical & Mechanical Engineer - PowerPoint Presentation

lois-ondreau
lois-ondreau . @lois-ondreau
Follow
342 views
Uploaded On 2019-06-23

Bruce Mayer, PE Licensed Electrical & Mechanical Engineer - PPT Presentation

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

Share:

Link:

Embed:

Download Presentation from below link

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.


Presentation Transcript

Slide1

Bruce Mayer, PELicensed Electrical & Mechanical EngineerBMayer@ChabotCollege.edu

Engr/Math/Physics 25

Chp1 MATLAB

OverView: Part-1

Slide2

Learning 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

Slide3

MATLAB 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

Slide4

MATLAB Command Window

Typing

Occurs

Here

Slide5

Example 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

Slide6

Script/Function File Editor

Slide7

Script & 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

Slide8

Script & 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

Slide9

Script & 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

Slide10

Entering 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

Slide11

Arithmetic 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

Slide12

Math 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.

Slide13

Precedence 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

Slide14

Precedence 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

Slide16

Work 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

Slide17

Work 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

Slide18

whos on First???

Slide19

Special 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

Slide20

The Complex Plane

Im (i or j)

Re

Slide21

Complex-Number Operations

The number c1 = 1 – 2i is entered as:

c1 = 1­2i

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

Slide22

Complex 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

Slide23

Special 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

Slide24

Discrete 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

Slide25

Discrete 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

Slide26

Arrays

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

Slide27

Arrays 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.

Slide28

Array 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

Slide29

Polynomial 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

Slide30

5th 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

Slide31

Common 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°

Slide32

The “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

Slide33

Printing From Command Window - 1

Note: MATLAB “Comments” Start with the “

%” Sign

Text

to

Print

Slide34

Printing From Command Window - 2

SELECTText to

Print

Slide35

Printing 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

Slide36

Alternative 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

Slide37

DIARY 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')

Slide38

Command 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.

Slide39

System, 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

Slide40

Plotting with MATLAB

Plot over 573°

Slide41

MATLAB 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

Slide42

DeskTop Recoveryto UnScramble the DeskTop

Slide43

DeskTop “Recovery”

Slide44

Example Problem 1-21

Plot This Function

Time ForLive Demo

Where

T

 Temperature (°C)

t  time (minutes)

For: 1  t  3

Slide45

All Done for Today

Tutorial on

HomeWorkConstructionNext Time

A VERY Important Meeting

Slide46

Bruce Mayer, PELicensed Electrical & Mechanical EngineerBMayer@ChabotCollege.edu

Engr/Math/Physics 25

Appendix

Slide47

Example 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

Slide48

Prob 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

Slide49

Prob 1-22 Plot

Slide50

Slide51

System, 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