• Save
Upcoming SlideShare
×

Like this presentation? Why not share!

# Matlab : Matrix operations and relational operators (Part 2)

## on Sep 17, 2010

• 2,921 views

http://www.pecworld.zxq.net

http://www.pecworld.zxq.net

### Views

Total Views
2,921
Views on SlideShare
2,918
Embed Views
3

Likes
1
0
3

### 1 Embed3

 file:// 3

### Report content

• Full Name Comment goes here.
Are you sure you want to
• (بانک سورس کدهای متلب به فارسی)
شما می توانید سورس کدهای متلب را در اینجا ببینید
http://pecworld.zxq.net/Persian/Webpage/Training/MATLAB/List.html
Are you sure you want to
• http://www.pecworld.zxq.net
Are you sure you want to
• For more tutorial visit :

http://www.pecworld.zxq.net
Are you sure you want to

## Matlab : Matrix operations and relational operators (Part 2)Presentation Transcript

• Matlab Training Session 2: Matrix Operations and Relational Operators
• Course Outline
• Introduction to Matlab and its Interface
• Fundamentals (Operators)
• Fundamentals (Flow)
• Importing Data
• Functions and M-Files
• Plotting (2D and 3D)
• Statistical Tools in Matlab
• Analysis and Data Structures
• Review Working with Matrices c = 5.66 or c = [5.66] c is a scalar or a (1 × 1) matrix  x = [ 3.5, 33.22, 24.5 ] x is a row vector or a (1 × 3) matrix  x1 = [ 2 5 3 -1] x1 is column vector or a (4 × 1) matrix A = [ 1 2 4 2 -2 2 0 3 5 5 4 9 ] A is a (4 × 3) matrix
• Review
• Indexing Matrices
• A (m × 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 × 4) matrix
• >> A(2,1)
• Ans 6
• 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]
• 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
• 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
• B. Matrix Operations
• 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
• 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]
• 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.
• 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)
• 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)
• N – Dimensional Matrices
• Matrix Operations
• Scalar Operations
• Scalar (single value) calculations can be performed on matrices and arrays
• Basic Calculation Operators
• - Subtraction
• * Multiplication
• / Division
• ^ Exponentiation
• 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
• Matrix Operations
• Matrix Operations
• Matrix to matrix calculations can be performed on matrices and arrays
• 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
• Matrix Operations
• Matrix Multiplication
• Built in matrix multiplication in Matlab is either:
• A lgebraic dot product
• Element by element multiplication
• 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
• 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]
• Matrix Operations
• Matrix Division
• Built in matrix division in Matlab is either:
• Left or right matrix division
• Element by element division
• Matrix Operations
• Left and Right Division
• Left and Right division utilizes the / and operators
• Left () division:
• X = AB 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
• 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 ]
• 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
• Matrix Operations
• Matrix Exponents
• Built in matrix Exponentiation in Matlab is either:
• A series of A lgebraic dot products
• Element by element exponentiation
• Examples:
• A^2 = A * A (Matrix must be square)
• A.^2 = A .* A
• Matrix Operations
• Shortcut: Transposing Matrices
• The transpose of a matrix is the matrix formed by interchanging the rows and columns of a given matrix
>> B’ B=[1 7 3 3] >> transpose(A) A=[1 6 2 3 4 8 5 2] B = [1 7 3 3] A = [1 2 4 5 6 3 8 2]
• Matrix Operations Other handy built in matrix functions Include: inv() Matrix inverse det() Matrix determinant poly() Characteristic Polynomial kron() Kronecker tensor product
• C. Relational Operators
• 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
• 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
• 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
• 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]
• 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 ]