1 / 52

Bruce Mayer, PE Licensed Electrical & Mechanical Engineer BMayer@ChabotCollege

Engr/Math/Physics 25. Chp1 MATLAB OverView : Part-1. Bruce Mayer, PE Licensed Electrical & Mechanical Engineer BMayer@ChabotCollege.edu. Learning Goals. Turn On MATLAB and use as a calculator Create Basic Cartesian Plots Write and Save simple “Script” Program-files

adolph
Download Presentation

Bruce Mayer, PE Licensed Electrical & Mechanical Engineer BMayer@ChabotCollege

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Engr/Math/Physics 25 Chp1 MATLABOverView: Part-1 Bruce Mayer, PE Licensed Electrical & Mechanical EngineerBMayer@ChabotCollege.edu

  2. Learning Goals • Turn On MATLAB and use as a calculator • Create Basic Cartesian Plots • Write and Save simple “Script” Program-files • Execute Conditional Statements • IF, THEN, ELSE, >, <, >=, etc. • Execute Loop Statements • FOR & WHILE

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

  4. MATLAB Command Window Typing Occurs Here

  5. Example Cmd Window Session >> %Use MATLAB As Calculator >> 17*19 ans = 323 >> 77/19 -4.3 ans = -0.2474 >> 64^(1/3) + 32^0.2 ans = 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 Time For Live Demo

  6. Script/Function File Editor

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

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

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

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

  11. Arithmetic Scalar Operations • LEFT-Division A\bread from Right-to-Left as: “b divided by A”

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

  13. Precedence Examples >> 8+3*5 ans = 23 >> 8 + (3*5) ans = 23 >>(8 + 3)*5 ans = 55 >> 4^2-12-8/4*2 ans = 0 >> 4^2-12-8/(4*2) ans = 3 4 1

  14. Precedence Examples cont. >>27^(1/3) + 32^0.2 ans = 5 >>27^1/3 + 32^0.2 ans = 11 >> 3*4^2 + 5 ans = 53 >>(3*4)^2 + 5 ans = 149 3 48 9 144

  15. “=“ → 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

  16. Work Session Commands

  17. Work Session Commands cont.1

  18. whos on First???

  19. Special VARS & const’s • 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

  20. The Complex Plane Im (i or j) Re

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

  22. Complex Arithmetic >> Im_Pwr = Z1^3.84 Im_Pwr = -1.6858e+004 -2.5886e+004i >> e_to_Z = exp(Z2) e_to_Z = 6.8518e+006 -2.3163e+007i >> Log_Z = log10(Z2) Log_Z = 1.2485 + 0.1242i >> ln_Z = log(Z1) ln_Z = 2.6922 + 1.0769i

  23. Special VARS & const’s

  24. Discrete Math Funtions

  25. Discrete Math Examples factor777 = factor(777) factor777 = 3 7 37 GCF = gcd(1001, 1105) GCF = 13 F7 = 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

  26. Arrays • An ARRAY is an ORDERED SET of Numbers of with n DIMENSIONS • A regular Number (a SCALAR) is an Array of Dimension ZERO • a VECTOR is a 1-Dim Array • a MATRIX is an ARRAY of Dim  2with specialproperties

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

  28. Array Index • >>u(7) • ans = • 0.6000 • >>w(7) • ans = • 2.8232 • Use the LENGTH function to determine how many values are in an array. • >>m = length(w) • m = • 101

  29. Polynomial Roots • MATLAB has a Way-Cool Polynomial Root Finder • Find the roots of x3 − 7x2 + 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

  30. 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) • y1,2 = 3 ± 2j • y3,4 = 1 ± j • y5 = 1

  31. Common Math Functions • Note that MATLAB Trig functions Operate on RADIANS • Convert using Ratio: -rads per 180°

  32. 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 = asind(.497) T4 = 29.8017 >> T5 = acosd(0.629) T5 = 51.0236 >> T6 = atand(1.73) T6 = 59.9706

  33. Printing From Command Window - 1 TexttoPrint • Note: MATLAB “Comments” Start with the “%” Sign

  34. Printing From Command Window - 2 SELECTText toPrint

  35. Send to printer from Print Dialog Box Printing From Command Window - 3 • Caveat • In a COMMAND WINDOW session once you Hit Enter () you can NOT Go back to Edit the Text • Can Save your command sequence as an m-file SCRIPT

  36. Perform MATLAB Operation Select Desired Text COPY text to the Windows Paste Buffer Open Text application MSWord, WordPad, NotePad, etc. PASTE the MATLAB Text Into the Text Processor Print from the Text Processor as Usual Alternative Cmd Window Printing

  37. 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')

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

  39. System, Directory, File Cmnds • HINT: Consider putting ALL your m-files in ONE Folder/Directory

  40. Plot over 573° Plotting with MATLAB

  41. MATLAB Plotting Commands

  42. DeskTop Recoveryto UnScramble the DeskTop

  43. DeskTop “Recovery”

  44. Example Problem 1-21 • Plot This Function Time For Live Demo • Where • T  Temperature (°C) • t  time (minutes) • For: 1  t  3

  45. All Done for Today Tutorial onHomeWorkConstructionNext Time A VERY Important Meeting

  46. Engr/Math/Physics 25 Appendix Bruce Mayer, PE Licensed Electrical & Mechanical EngineerBMayer@ChabotCollege.edu

  47. Example Demo Session >> %Use MATLAB As Calculator >> 17*19 ans = 323 >> 77/19 -4.3 ans = -0.2474 >> 64^(1/3) + 32^0.2 ans = 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

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

  49. Prob 1-22 Plot

More Related