In this article, we are going to talk about Matlab operators. So let’s get started
The first question that should come before us is What is an operator?
So, an operator is a symbol in computer programming and mathematics which is used to perform specific mathematical or logical operations or you can also define it as a character that represents an action for example ‘+’ is a character that represents addition similarly Boolean operators are used to working with true/false values.
One more important fact to keep in mind is operators in MATLAB work for both scalar and non-scalar data.
MATLAB offers the following type of operators:
- Arithmetic operators
- Relational operators
- Logical operators
- Bitwise operators
- Set operators
1. Arithmetic Operators
Matlab provides two types of Arithmetic operators
- Matrix arithmetic operators
- Array arithmetic operators
As the above two types suggest Arithmetic Operators used with one or more operands as arrays are Array arithmetic operators and with one or more operand as a matrix is matrix arithmetic operator. The difference between them is the use of (.) symbol along with the operator in the case of Array arithmetic operators.
- Addition Operator (+): This operator is used to add two values as the name suggests. A few things that we need to keep in mind while using this that both the values should be of the same size unless one of them is scalar.
- Subtraction operator (-): This operator is used to subtract two values as the name suggests. A few things that we need to keep in mind while using this that both the values should be of the same size unless one of them is scalar.
- Matrix Multiplication: If C= A*B then C is the linear algebraic product of A and B. If both the operands are non-scalar then this operation can only happen if the number of columns in A is equal to a number of rows in B.
- Array Multiplication(.*): It is the element by element multiplication of two arrays for eg C= A.*B and both A and B should be of the same size.
- Matrix right division (/): For example, B/A is roughly the same as B*inv(A) where B and A are two matrices.
- Array right division (./): The only difference is, in this case, it will B./A where both A and B must have the same size unless one of them is scalar.
- Matrix Left division (\): In this type of matrix multiplication, A is a by n matrix and B is a column vector. The solution to AX= B is X=A\B.
- Array Left division (.\): A.\B is the matrix with elements B(i,j) \a(I,j) .A and B must have the same size.
- Matrix power(^): X^p is X to the power p if p is scalar or if p is an integer the power is computed by repeated squaring.
- Array power (.^): ^p is matrix X to the power matrix unless both of them are scalar. Both must have the same size.
- Matrix transpose (‘): If A is matrix then A’ will be its linear algebraic transpose and if A is complex then A’ will be a complex conjugate transpose of it.
- Array transpose (.’): If A is an array then A.’ is the transpose of A but for complex array A there is no complex conjugate like matrix transpose.
2. Relational Operators
These types of Operators can work with both scalar and non-scalar data. As the name suggests it finds a relation between each element of two arrays and if a relation exists then it returns true or else false. The operator returns an array of the same size with values true and false depending on the result of an operation.
- < Less than
- <= Less than equal to
- > Greater than
- >= Greater than or equal to
- == Equal to
- ~= Not equal to
3. Logical Operators
Matlab provides two types of Logical Operators are as given below:
- Element-wise: Element-wise operator operates on elements of logical arrays. The symbols used in these operators are: & (AND), |(OR) ~ (NOT)
- Short-circuit: These types of operators work on scalar and logical operations. The symbols && and || are the logical short circuit operators AND and OR.
4. Bitwise Operators
As it is clear by the name Bitwise Operators work on a bit-by-bit operation. The Bitwise Operator symbols are |, &, and ^: The truth table is as follows:
|P||Q||P & Q||P | Q||P ^ Q|
Interestingly, MATLAB provides various functions for bitwise and, bitwise or, bitwise not operations and shift operation, etc.
Matlab provides the following bitwise operators
- bit and(a,b) – Bitwise AND of integers a and b
- bitmap(a) – Bitwise complement of a
- bitget(a, pos) – Get bit at a specified position, in the array a
- bitset(a, pos) – set bit at a specified location of a
- bitShift(a,k) – It is equivalent to get multiplied by 2k.So, if k is negative then it shifts right and if k is positive then it shifts left.
- bitor(a, b) – Bit-wise XOR of integers a and b
5. Set Operators
MATLAB provides various set operators like a union, intersection, etc. Please find below the various list of operators.
- intersect(A & B): It is used to intersect A and B and returns the common values of A and B in sorted order.
- intersect(A & B, ‘rows’): It returns rows common to both A and B.
- ismember(A, B): It returns an array of size A with 1 for all elements of A are found in B or else none.
- Issorted(A): It returns 1 if elements are in sorted order and 0 if not.
- union: It sets union of two arrays
- unique: Gives unique values in an array.
This has been a guide to Matlab Operators. Here we have discussed different types of Matlab Operators like Arithmetic, Relational, Logical, Bitwise, and Set Operators. You may also look at the following article to learn more.