1 / 39

Matlab Training Session 2: Matrix Operations and Relational Operators

Matlab Training Session 2: Matrix Operations and Relational Operators. Course Outline Weeks: Introduction to Matlab and its Interface (Jan 13 2009) Fundamentals (Operators) Fundamentals (Flow) Importing Data Functions and M-Files Plotting (2D and 3D) Statistical Tools in Matlab

dzeiger
Download Presentation

Matlab Training Session 2: Matrix Operations and Relational Operators

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. Matlab Training Session 2:Matrix Operations and Relational Operators

  2. Course Outline Weeks: • Introduction to Matlab and its Interface (Jan 13 2009) • Fundamentals (Operators) • Fundamentals (Flow) • Importing Data • Functions and M-Files • Plotting (2D and 3D) • Statistical Tools in Matlab • Analysis and Data Structures Course Website: http://www.queensu.ca/neurosci/matlab.php

  3. Week 2 Lecture Outline Fundamentals of Matlab 1 • Week 1 Review B. Matrix Operations: • The empty matrix • Creating multi-dimensional matrices • Manipulating Matrices • Matrix Operations C. Operators • Relational Operators

  4. Week 1 Review Working with Matrices c = 5.66 or c = [5.66] c is a scalar or a 1 x 1 matrix  x = [ 3.5, 33.22, 24.5 ] x is a row vector or a 1 x 3 matrix  x1 = [ 2 5 3 -1] x1 is column vector or a 4 x 1 matrix A = [ 1 2 4 2 -2 2 0 3 5 5 4 9 ]A is a 4 x 3 matrix

  5. Week 1 Review • Indexing Matrices • A m x n matrix is defined by the number of m rows and number of n columns • An individual element of a matrix can be specified with the notation A(i,j) or Ai,j for the generalized element, or by A(4,1)=5 for a specific element. • Example: • >> A = [1 2 4 5;6 3 8 2] A is a 2 x 4 matrix • >> A(2,1) • Ans 6

  6. Week 1 Review • Indexing Matrices • Specific elements of any matrix can be overwritten using the matrix index • Example: • A = [1 2 4 5 • 6 3 8 2] • >> A(2,1) = 9 • Ans • A = [1 2 4 5 • 9 3 8 2]

  7. Week 1 Review • Indexing Matrices • A = [1 2 4 5 • 6 3 8 2] • The colon operator can be used to index a range of elements • >> A(1,1:3) • Ans 1 2 4

  8. Matrix Indexing Cont.. • Indexing Matrices • A = [1 2 4 5 • 6 3 8 2] • The colon operator can index all rows or columns without setting an explicit range • >> A(:,3) • Ans 4 8 • >> A(2,:) • Ans 6 3 8 2

  9. B. Matrix Operations

  10. Matrix Operations • Indexing Matrices • An empty or null matrix can be created using square brackets • >> A = [ ] • ** TIP: The size and length functions can quickly return the number of elements and dimensions of a matrix variable

  11. Matrix Operations • Indexing Matrices • A = [1 2 4 5 • 6 3 8 2] • The colon operator can can be used to remove entire rows or columns • >> A(:,3) = [ ] • A = [1 2 5 • 6 3 2] • >> A(2,:) = [ ] • A = [1 2 5]

  12. Matrix Operations • Indexing Matrices • A = [1 2 4 5 • 6 3 8 2] • However individual elements within a matrix cannot be assigned an empty value • >> A(1,3) = [ ] • ??? Subscripted assignment dimension mismatch.

  13. N – Dimensional Matrices • A = [1 2 4 5 B = [5 3 7 9 • 6 3 8 2] 1 9 9 8] • Multidimensional matrices can be created by concatenating 2-D matrices together • The cat function concatenates matrices of compatible dimensions together: • Usage: cat(dimensions, Matrix1, Matrix2)

  14. N – Dimensional Matrices • Examples • A = [1 2 4 5 B = [5 3 7 9 • 6 3 8 2] 1 9 9 8] • >> C = cat(3,[1,2,4,5;6,3,8,2],[5,3,7,9;1,9,9,8]) • >> C = cat(3,A,B)

  15. Matrix Operations • Scalar Operations • Scalar (single value) calculations can be can performed on matrices and arrays • Basic Calculation Operators • + Addition • - Subtraction • * Multiplication • / Division • ^ Exponentiation

  16. Matrix Operations • Scalar Operations • Scalar (single value) calculations can be performed on matrices and arrays • A = [1 2 4 5 B = [1 C = 5 • 6 3 8 2] 7 • 3 • 3] • Try: • A + 10; A * 5; B / 2; A.^C; A*B

  17. Matrix Operations • Scalar Operations • Scalar (single value) calculations can be performed on matrices and arrays • A = [1 2 4 5 B = [1 C = 5 • 6 3 8 2] 7 • 3 • 3] • Try: • A + 10 • A * 5 • B / 2 • A^C What is happening here?

  18. Matrix Operations • Matrix Operations • Matrix to matrix calculations can be performed on matrices and arrays • Addition and Subtraction • Matrix dimensions must be the same or the added/subtracted value must be scalar • A = [1 2 4 5 B = [1 C = 5 D = [2 4 6 8 • 6 3 8 2] 7 1 3 5 7] • 3 • 3] • Try: • >>A + B >>A + C >>A + D

  19. Matrix Operations • Matrix Multiplication • Built in matrix multiplication in Matlab is either: • Algebraic dot product • Element by element multiplication

  20. Matrix Operations • The Dot Product • The dot product for two matrices A and B is defined whenever the number of columns of A are equal to the number of rows of b • A(x1,y1) * B(x2,y2)

  21. Matrix Operations • The Dot Product • The dot product for two matrices A and B is defined whenever the number of columns of A are equal to the number of rows of b • A(x1,y1) * B(x2,y2)

  22. Matrix Operations • The Dot Product • The dot product for two matrices A and B is defined whenever the number of columns of A are equal to the number of rows of b • A(x1,y1) * B(x2,y2)

  23. Matrix Operations • The Dot Product • The dot product for two matrices A and B is defined whenever the number of columns of A are equal to the number of rows of b • A(x1,y1) * B(x2,y2) = C(x1,y2)

  24. Matrix Operations • The Dot Product • A(x1,y1) * B(x2,y2) = C(x1,y2) • A = [1 2 B = [1 D = [2 2 E = [2 4 3 6] • 6 3] 7 2 2] • 3 • 3] • Try: • >>A * D • >>B * E • >>A * B

  25. Matrix Operations • Element by Element Multiplication • Element by element multiplication of matrices is performed with the .* operator • Matrices must have identical dimensions • A = [1 2 B = [1 D = [2 2 E = [2 4 3 6] • 6 3 ] 7 2 2 ] • 3 • 3] • >>A .* D • Ans = [ 2 4 • 12 6]

  26. Matrix Operations • Matrix Division • Built in matrix division in Matlab is either: • Left or right matrix division • Element by element division

  27. Matrix Operations • Left and Right Division • Left and Right division utilizes the / and \ operators • Left (\) division: • X = A\B is a solution to A*X = B • Right (/) division: • X = B/A is a solution to X*A = B • Left division requires A and B have the same number of rows • Right division requires A and B have the same number of columns

  28. Matrix Operations • Element by Element Division • Element by element division of matrices is performed with the ./ operator • Matrices must have identical dimensions • A = [1 2 4 5 B = [1 D = [2 2 2 2 E = [2 4 3 6] • 6 3 8 2] 7 2 2 2 2] • 3 • 3] • >>A ./ D • Ans = [ 0.5000 1.0000 2.0000 2.5000 • 3.0000 1.5000 4.0000 1.0000 ]

  29. Matrix Operations • Element by Element Division • Any division by zero will be returned as a NAN in matlab (not a number) • Any subsequent operation with a NAN value will return NAN

  30. Matrix Operations • Matrix Exponents • Built in matrix Exponentiation in Matlab is either: • A series of Algebraic dot products • Element by element exponentiation • Examples: • A^2 = A * A (Matrix must be square) • A.^2 = A .* A

  31. Matrix Operations • Shortcut: Transposing Matrices • The transpose of a matrix is the matrix formed by interchanging the rows and columns of a given matrix • A = [1 2 4 5 B = [1 • 6 3 8 2] 7 • 3 • 3] • >> transpose(A) >> B’ • A = [1 6 B = [1 7 3 3] • 2 3 • 4 8 • 5 2]

  32. Matrix Operations Other handy built in matrix functions Include: inv() Matrix inverse det() Matrix determinant poly() Characteristic Polynomial kron() Kronecker tensor product

  33. C. Relational Operators

  34. Relational Operators • Relational operators are used to compare two scaler values or matrices of equal dimensions • Relational Operators • < less than • <= less than or equal to > Greater than >= Greater than or equal to == equal ~= not equal

  35. Relational Operators • Comparison occurs between pairs of corresponding elements • A 1 or 0 is returned for each comparison indicating TRUE or FALSE • Matrix dimensions must be equal! • >> 5 == 5 • Ans 1 • >> 20 >= 15 • Ans 1

  36. Relational Operators A = [1 2 4 5 B = 7 C = [2 2 2 2 6 3 8 2] 2 2 2 2] Try: >>A > B >> A < C

  37. Relational Operators • The Find Function • The ‘find’ function is extremely helpful with relational operators for finding all matrix elements that fit some criteria • A = [1 2 4 5 B = 7 C = [2 2 2 2 D = [0 2 0 5 0 2] • 6 3 8 2] 2 2 2 2] • The positions of all elements that fit the given criteria are returned • >> find(D > 0) • The resultant positions can be used as indexes to change these elements • >> D(find(D>0)) = 10 D = [10 2 10 5 10 2]

  38. Relational Operators • The Find Function • A = [1 2 4 5 B = 7 C = [2 2 2 2 D = [0 2 0 5 0 2] • 6 3 8 2] 2 2 2 2] • The ‘find’ function can also return the row and column indexes of of matching elements by specifying row and column arguments • >> [x,y] = find(A == 5) • The matching elements will be indexed by (x1,y1), (x2,y2), … • >> A(x,y) = 10 • A = [ 1 2 4 10 • 6 3 8 2 ]

  39. Getting Help • Help and Documentation • Digital • Accessible Help from the MatlabStart Menu • Updated online help from the MatlabMathworks website: • http://www.mathworks.com/access/helpdesk/help/techdoc/matlab.html • Matlab command prompt function lookup • Built in Demo’s • Websites • Hard Copy • Books, Guides, Reference • The Student Edition of Matlab pub. Mathworks Inc.

More Related