Matrix inverse helps you find a matrix that "undoes" the effect of the original matrix when multiplied together. It is useful to solve equations and reverse transformations.
Matrix inverse (inv) in MATLAB
B = inv(A)
A must be a square matrix (same number of rows and columns).
If A is not invertible (singular), MATLAB will give a warning or error.
A.A = [1 2; 3 4]; B = inv(A);
I = eye(3);
B = inv(I);A = [2 0 0; 0 3 0; 0 0 4]; B = inv(A);
This program calculates the inverse of matrix A, then multiplies A by its inverse to show the identity matrix.
A = [4 7; 2 6]; B = inv(A); disp('Matrix A:'); disp(A); disp('Inverse of A:'); disp(B); product = A * B; disp('Product of A and its inverse (should be identity):'); disp(product);
Using inv is not always the best way to solve equations; sometimes using \ (backslash) operator is more efficient and accurate.
Only square matrices that are not singular have inverses.
The inv function finds the inverse of a square matrix.
Multiplying a matrix by its inverse gives the identity matrix.
Use inv carefully; for solving equations, prefer \.
Practice
What does the MATLAB function inv(A) do when A is a square matrix?
Solution
Step 1: Understand the function purpose
The functioninvin MATLAB is designed to compute the inverse of a square matrix.Step 2: Recall matrix inverse definition
The inverse of a matrixAis a matrixBsuch thatA * B = I, whereIis the identity matrix.Final Answer:
Calculates the inverse of matrix A -> Option CQuick Check:
inv(A) = inverse of A [OK]
- Confusing inverse with transpose
- Thinking inv() calculates determinant
- Assuming inv() returns eigenvalues
Which of the following is the correct syntax to compute the inverse of a matrix A in MATLAB?
Solution
Step 1: Recall MATLAB function for inverse
MATLAB uses the functioninv()to compute the inverse of a matrix.Step 2: Check syntax correctness
The correct syntax isinv(A). Other options are not valid MATLAB syntax for matrix inverse.Final Answer:
inv(A) -> Option DQuick Check:
Use inv(A) to invert matrix A [OK]
- Using inverse(A) instead of inv(A)
- Trying object-oriented syntax like A.inv()
- Confusing backslash operator with inv()
What is the output of the following MATLAB code?
A = [1 2; 3 4]; B = inv(A); disp(round(B,2));
Solution
Step 1: Calculate determinant of A
det(A) = (1*4) - (2*3) = 4 - 6 = -2 (non-zero, so inverse exists)Step 2: Compute inverse of A
Inverse formula for 2x2 matrix: (1/det) * [d -b; -c a] = (1/-2) * [4 -2; -3 1] = [[-2 1]; [1.5 -0.5]]Final Answer:
[[-2.00 1.00]; [1.50 -0.50]] -> Option AQuick Check:
inv(A) = [[-2 1]; [1.5 -0.5]] [OK]
- Mixing up signs in inverse formula
- Calculating determinant incorrectly
- Confusing inverse with transpose
Consider this MATLAB code snippet:
A = [1 2; 2 4]; B = inv(A); disp(B);
What is the problem with this code?
Solution
Step 1: Check matrix shape
Matrix A is 2x2, so it is square, no problem here.Step 2: Check if matrix is invertible
Calculate determinant: det(A) = (1*4) - (2*2) = 4 - 4 = 0, so A is singular and cannot be inverted.Final Answer:
Matrix A is singular and cannot be inverted -> Option BQuick Check:
det(A) = 0 means no inverse [OK]
- Assuming all square matrices are invertible
- Ignoring determinant calculation
- Thinking syntax error causes failure
You have a system of linear equations represented by A * x = b, where A is a 3x3 matrix and b is a vector. Which MATLAB command is the best practice to find x?
Solution
Step 1: Understand solving linear systems in MATLAB
Usinginv(A)*bworks but is inefficient and less accurate.Step 2: Use MATLAB backslash operator
The recommended way isx = A \ b;which solves the system efficiently without explicitly computing inverse.Final Answer:
x = A \ b; -> Option AQuick Check:
Use backslash \ for solving Ax=b, not inv(A) [OK]
- Using inv(A)*b which is slower and less stable
- Using division operators incorrectly
- Multiplying b by inv(A) instead of inv(A)*b
Ready to prove it?
Pass the test and this pattern moves unknown
