Presentation is loading. Please wait.

Presentation is loading. Please wait.

INTRODUCTION TO MATLAB Dr. Hugh Blanton ENTC 4347.

Similar presentations


Presentation on theme: "INTRODUCTION TO MATLAB Dr. Hugh Blanton ENTC 4347."— Presentation transcript:

1 INTRODUCTION TO MATLAB Dr. Hugh Blanton ENTC 4347

2 Dr. Blanton - ENTC 4347 - MATLAB 2 / 45 TOPICS 1.Basic MATLAB 2.Matrices 3.Operators 4.Script and function files 5.Flow control 6.Plotting

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

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

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

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

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

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

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

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

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

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

13 Dr. Blanton - ENTC 4347 - MATLAB 13 / 45 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 MATLAB Variables

14 Dr. Blanton - ENTC 4347 - MATLAB 14 / 45 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 Indexing Matrix elements >>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 MATLAB Variables

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

16 Dr. Blanton - ENTC 4347 - MATLAB 16 / 45 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 MATLAB Variables

17 Dr. Blanton - ENTC 4347 - MATLAB 17 / 45 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 MATLAB Variables

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

19 Dr. Blanton - ENTC 4347 - MATLAB 19 / 45 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 MATLAB Variables

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

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

22 Dr. Blanton - ENTC 4347 - MATLAB 22 / 45 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 MATLAB Variables

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

24 Dr. Blanton - ENTC 4347 - MATLAB 24 / 45 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. MATLAB Variables

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

26 Dr. Blanton - ENTC 4347 - MATLAB 26 / 45 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) MATLAB Variables

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

28 Dr. Blanton - ENTC 4347 - MATLAB 28 / 45 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

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

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

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

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

33 Dr. Blanton - ENTC 4347 - MATLAB 33 / 45 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 MATLAB m-files

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

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

36 Dr. Blanton - ENTC 4347 - MATLAB 36 / 45 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 Function Files 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. MATLAB m-files

37 Dr. Blanton - ENTC 4347 - MATLAB 37 / 45 The “while” and “if” statements if expression statements end if expression statements1 else statements2 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 while expression statements end MATLAB Flow Control

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

39 Dr. Blanton - ENTC 4347 - MATLAB 39 / 45 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) MATLAB Flow Control

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

41 Dr. Blanton - ENTC 4347 - MATLAB 41 / 45 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]) MATLAB PLOTTING

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

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

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

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


Download ppt "INTRODUCTION TO MATLAB Dr. Hugh Blanton ENTC 4347."

Similar presentations


Ads by Google