1 / 45

INTRODUCTION TO MATLAB

INTRODUCTION TO MATLAB. Dr. Hugh Blanton ENTC 4347. TOPICS. Basic MATLAB Matrices Operators Script and function files Flow control Plotting. Basic MATLAB. optional windows. workspace current directory. type commands here. command window. screen shot of the Matlab window.

kenyon
Download Presentation

INTRODUCTION TO MATLAB

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. INTRODUCTION TOMATLAB Dr. Hugh Blanton ENTC 4347

  2. TOPICS • Basic MATLAB • Matrices • Operators • Script and function files • Flow control • Plotting Dr. Blanton - ENTC 4347 - MATLAB 2 / 45

  3. Basic MATLAB optional windows workspace current directory type commands here command window screen shot of the Matlab window Dr. Blanton - ENTC 4347 - MATLAB 3 / 45

  4. Matlab’s help features type “help” at the command prompt and Matlab returns a list of help topics Dr. Blanton - ENTC 4347 - MATLAB 4 / 45

  5. Matlab’s help features >> help lang Matlab’s language constructs Dr. Blanton - ENTC 4347 - MATLAB 5 / 45

  6. Matlab’s help features >> help for how to use Matlab’s “for” statement Dr. Blanton - ENTC 4347 - MATLAB 6 / 45

  7. Matlab’s help features you can also access “on-line” help by clicking the question mark in the toolbar separate window Dr. Blanton - ENTC 4347 - MATLAB 7 / 45

  8. MATLAB Variables all variables are stored in 32bit floating point format no distinction between real and integer >>a = 3; same assignment for “a” >>a = 3.0; Matlab is case sensitive >>A=3; Aa >>a=2; Dr. Blanton - ENTC 4347 - MATLAB 8 / 45

  9. MATLAB Variables can use numbers and underscore in variable names >>case34=6.45; OK >>case_34=6.45; names must start with a letter results in a syntax error >>34case=23.45; string (text) variables enclosed in single quotes. The variable is stored as array of characters >>title=‘This is the title’; Dr. Blanton - ENTC 4347 - MATLAB 9 / 45

  10. MATLAB Variables if a variable is defined, typing the variable name returns its value >>a=45.57; >>a a = 45.57 Matlab returns the value to clear a variable from memory >>a=4 >>clear a Dr. Blanton - ENTC 4347 - MATLAB 10 / 45

  11. MATLAB Variables Matlab will “echo” commands unless a semi-colon is used >>a=23.2; >> >>a=23.2 a = 23.2 >> Matlab echoes the command Dr. Blanton - ENTC 4347 - MATLAB 11 / 45

  12. MATLAB Variables Vectors column vectors row vectors >>a=[1;2;3]; >>a a = 1 2 3 >>a=[1,2,3]; >>a a = 1 2 3 use comma to separate columns use semi-colon to separate rows Dr. Blanton - ENTC 4347 - MATLAB 12 / 45

  13. MATLAB Variables Matrices 2-dimensional matrices >>a=[1,2,3;4,5,6]; >>a a = 1 2 3 4 5 6 again, separate columns with commas and rows with semi-colons Dr. Blanton - ENTC 4347 - MATLAB 13 / 45

  14. MATLAB Variables Indexing Matrix elements A vector is a special type of matrix row vector is a 1 x n matrix, 1 row n columns column vector is a n x 1 matrix, n rows 1 column >>a=[1,2,3]; >>a(2) ans = 2 could also reference by a(1,2) note, a(2,1) would produce an error because “a” only has one row Dr. Blanton - ENTC 4347 - MATLAB 14 / 45

  15. MATLAB Variables Indexing Matrix elements more examples >>a=[1,2,3;4,5,6]; assigning addressing >>a(2,2)=9; >>a a = 1 2 3 4 9 6 >>a(2,3) ans = 6 Dr. Blanton - ENTC 4347 - MATLAB 15 / 45

  16. MATLAB Variables complex-valued numbers Typically, the variable “i” or “j” is used to represent the complex variable; e.g. Then, a complex number is represented as z = a + ib Re(z) = a Im(z) = b Dr. Blanton - ENTC 4347 - MATLAB 16 / 45

  17. MATLAB Variables complex-valued numbers Unless i or j has been previously defined, Matlab assigns i and j the complex variable value In Matlab, a complex variable is represented in the following format (assuming all variables are cleared) >>z=23+i*56; >>z z = 23.00 + 56.00i >>z=23+j*56; >>z z = 23.00 + 56.00i Matlab always uses the symbol “i” to represent a complex number Dr. Blanton - ENTC 4347 - MATLAB 17 / 45

  18. MATLAB Variables complex-valued numbers What happens in this case? What happens in this case? >>i=3; >> z=23+i*56; >>z z = >>a=sqrt(-1); >>z=23+a*56; >>z z = Dr. Blanton - ENTC 4347 - MATLAB 18 / 45

  19. MATLAB Variables complex-valued numbers Note, a real-valued number is a special case of a complex-valued number assigning any element of a matrix as complex-valued makes the entire matrix complex-valued >>a=[1,2]; >>a a = 1 2 >>a(1)=1+i*5; >>a a = 1.00+5.00i 2.00+0.00i Dr. Blanton - ENTC 4347 - MATLAB 19 / 45

  20. MATLAB Variables Advanced data types n-dimensional arrays structures cell arrays Dr. Blanton - ENTC 4347 - MATLAB 20 / 45

  21. MATLAB Variables Basic operations addition + subtraction - multiplication * division right division / left division \ ? >>a=3;b=4; >>c1=a/b; >>c2=a\b; c1=0.75 so, be careful! c2=1.3333…. Dr. Blanton - ENTC 4347 - MATLAB 21 / 45

  22. MATLAB Variables Mixed Real and Complex valued Variables if both variables are real-valued, a real-valued result is obtained if one variable is complex-valued, Matlab recasts the real variable as complex and then performs the operation. The result is complex-valued however, the type casting is done internally, the real-valued variable remains real after the operation Dr. Blanton - ENTC 4347 - MATLAB 22 / 45

  23. MATLAB Variables Other (Scalar) Operations Math representation Matlab interpretation >>z=y^x; >>y=exp(x); >>y=log(x); >>y=log10(x) >>y=asin(x); >>y=acos(x); >>y=atan(x); >>y=sin(x); >>y=cos(x); >>y=tan(x); Dr. Blanton - ENTC 4347 - MATLAB 23 / 45

  24. MATLAB Variables Examples >>y=x^0.5; >>y=x^(1/2); >>y=sqrt(x); All variables in the preceding operations can be real or complex, negative or positive for x < 0, y is complex. Matlab assumes you allow complex valued numbers. If y is not to be complex, you must provide error checking. Dr. Blanton - ENTC 4347 - MATLAB 24 / 45

  25. MATLAB Variables Matrices • Only matrices of the same dimension can be added and subtracted • For multiplication, the inner dimensions must be the same Error No error >>D=A+C; >>D=A*B; >>D=B*A; >>D=A+B; >>D=A-B; >>D=A*C; >>D=C*A; Matrix multiplication not commutative Dr. Blanton - ENTC 4347 - MATLAB 25 / 45

  26. MATLAB Variables Left(\) and Right(/) Matrix “division” Math representation Matlab interpretation >>C=A\B; >>C=B/A; Remember, A must be square and full rank (linearly independent rows/columns) Dr. Blanton - ENTC 4347 - MATLAB 26 / 45

  27. MATLAB Variables Matrix Transpose Math representation Matlab interpretation >>C=A’; For complex-valued matrices, complex conjugate transpose >>b=a’; >>B=A’; Dr. Blanton - ENTC 4347 - MATLAB 27 / 45

  28. MATLAB m-files Two types of m-files script files collection of commands that Matlab executes when the script is “run” function files collection of commands which together represent a function, a procedure or a method Both types are separate files with a “.m” extension Dr. Blanton - ENTC 4347 - MATLAB 28 / 45

  29. MATLAB m-files To create an m-file, open the Matlab text editor Click on the “page” icon The Matlab text editor window will open Dr. Blanton - ENTC 4347 - MATLAB 29 / 45

  30. MATLAB m-files Script Files On the command line In the script file named test.m >>x=3.0; >>y=x^2; >>y y = 9.0 >> On the command line >>test y = 9.0 >> Dr. Blanton - ENTC 4347 - MATLAB 30 / 45

  31. MATLAB m-files Script Files script files share the workspace memory test.m script >>x=5.0; >>test >>y y = 25.0 >> Dr. Blanton - ENTC 4347 - MATLAB 31 / 45

  32. MATLAB m-files Script Files script files can call other script files inner.m script >>outter y = 36.0 >> outter.m script Dr. Blanton - ENTC 4347 - MATLAB 32 / 45

  33. MATLAB m-files Function Files Matlab identifies function files from script files by using the “function” and “return” keywords the name of the function file must be the same name as the function Dr. Blanton - ENTC 4347 - MATLAB 33 / 45

  34. MATLAB m-files Function Files The function file x2.m >>r=3; >>d=x2(r); >>d d = 9.0 >> >>h=x2(4.2); >>h h = 17.64 >> Dr. Blanton - ENTC 4347 - MATLAB 34 / 45

  35. MATLAB m-files Function Files Multiple Inputs and Outputs outputs in square brackets, [ ] inputs in parentheses ( ) Dr. Blanton - ENTC 4347 - MATLAB 35 / 45

  36. MATLAB m-files Function Files variables created in the function are not retained in the workspace, except for the output variables the function does not have access to workspace variables, except for the inputs variables passed to the function are “copies” of the workspace variables. Changing their value inside the function has no effect on their value in the workspace. Dr. Blanton - ENTC 4347 - MATLAB 36 / 45

  37. MATLAB Flow Control The “while” and “if” statements if expression statements1 else statements2 end if expression statements end while expression statements end Matlab evaluates expression as logical “true” or “false” “false” equivalent to zero “true” equivalent to any non-zero number statements, any valid Matlab command Dr. Blanton - ENTC 4347 - MATLAB 37 / 45

  38. MATLAB Flow Control evaluating expression conditional operators any valid equation == equal to < less than > greater than <= less than or equal to >= greater than or equal to ~= not equal to a=4; b=5; c=5; if a+b if b-c “True” “False” watch out for round-off and word length error logical operators & and | or if sin(0) if sin(pi) sin(pi) = 1.22e-16 “False” “True” while(3<=a)&(a<=5) Dr. Blanton - ENTC 4347 - MATLAB 38 / 45

  39. MATLAB Flow Control The “for” statement for index = start : [increment :] end statements end index, start, increment, and end do not need to be integer valued increment is optional, if increment is not specified increment defaults to 1 index can be incremented positive (increment > 0) or negative (increment < 0) loop stops when index > end (or index < end) Dr. Blanton - ENTC 4347 - MATLAB 39 / 45

  40. MATLAB Flow Control example script file to cycle through x values function file to generate the y values Dr. Blanton - ENTC 4347 - MATLAB 40 / 45

  41. MATLAB PLOTTING Basic 2D plotting functions plot(x1,y1[,x2,y2,x3,y3.....]) xlabel(‘x axis name’) ylabel(‘y axis name’) title(‘graph name’) Additional functions grid on grid off axis([xmin,xmax,ymin,ymax]) Dr. Blanton - ENTC 4347 - MATLAB 41 / 45

  42. MATLAB PLOTTING example y = sin(t) the “plot” function alone Dr. Blanton - ENTC 4347 - MATLAB 42 / 45

  43. MATLAB PLOTTING example y = sin(t) script file to generate a graph of y = sin(t) Dr. Blanton - ENTC 4347 - MATLAB 43 / 45

  44. MATLAB PLOTTING example y = sin(t) function file to generate a graph of y = sin(t) >>graphsin >> Dr. Blanton - ENTC 4347 - MATLAB 44 / 45

  45. MATLAB PLOTTING Adding a Legend for multiple graphs “legend” remembers the order the graphs were plotted Dr. Blanton - ENTC 4347 - MATLAB 45 / 45

More Related