Bird
Raised Fist0
MATLABdata~5 mins

Solving linear systems (A\b) in MATLAB

Choose your learning style10 modes available
Introduction

We use A\b to find the values that solve equations like Ax = b. It helps us quickly find unknowns in math problems.

When you have a set of equations and want to find the unknown values.
When you want to solve problems like finding forces, currents, or prices that fit given conditions.
When you want a fast and easy way to solve many equations at once.
When you want to check if a solution exists or find the best approximate answer.
Syntax
MATLAB
x = A \ b

A is a matrix representing coefficients of the equations.

b is a column vector representing the results of the equations.

Examples
Solves two equations with two unknowns.
MATLAB
A = [2 1; 3 4];
b = [5; 6];
x = A \ b;
Solves three equations with three unknowns.
MATLAB
A = [1 2 3; 4 5 6; 7 8 10];
b = [6; 15; 25];
x = A \ b;
Solves equations where A is singular or has infinite solutions; MATLAB gives a least squares solution.
MATLAB
A = [1 2; 2 4];
b = [3; 6];
x = A \ b;
Sample Program

This program solves the system of equations:
3x + 2y = 7
x + 4y = 10
and shows the values of x and y.

MATLAB
A = [3 2; 1 4];
b = [7; 10];
x = A \ b;
disp('Solution x:');
disp(x);
OutputSuccess
Important Notes

Use A\b instead of inv(A)*b for better speed and accuracy.

If A is not square or singular, MATLAB finds the best approximate solution.

Always check the size of A and b to match the system you want to solve.

Summary

A\b solves equations Ax = b quickly and easily.

It works for square and some non-square systems.

It is more reliable than calculating the inverse of A.

Practice

(1/5)
1. What does the MATLAB expression x = A\b do?
easy
A. Solves the linear system Ax = b for x
B. Calculates the inverse of matrix A
C. Multiplies matrix A by vector b
D. Transposes matrix A and multiplies by b

Solution

  1. Step 1: Understand the expression A\b

    The operator \ in MATLAB is used to solve linear systems of the form Ax = b.
  2. Step 2: Identify the purpose of A\b

    It finds the vector x that satisfies the equation Ax = b without explicitly calculating the inverse of A.
  3. Final Answer:

    Solves the linear system Ax = b for x -> Option A
  4. Quick Check:

    A\b solves Ax = b [OK]
Hint: Remember: A\b solves Ax = b directly [OK]
Common Mistakes:
  • Confusing A\b with matrix multiplication
  • Thinking it calculates inverse of A
  • Using b\A instead of A\b
2. Which of the following is the correct syntax to solve the system Ax = b in MATLAB?
easy
A. x = A\b;
B. x = b/A;
C. x = inv(A)\b;
D. x = A*b;

Solution

  1. Step 1: Recall MATLAB syntax for solving linear systems

    The correct syntax uses the backslash operator: x = A\b;
  2. Step 2: Check other options for correctness

    x = b/A; uses b/A which is incorrect; x = inv(A)\b; uses inv(A)\b which solves inv(A)x = b (wrong system); x = A*b; multiplies A and b which is not solving the system.
  3. Final Answer:

    x = A\b; -> Option A
  4. Quick Check:

    Use backslash operator for solving Ax = b [OK]
Hint: Use backslash \ operator, not division or inverse [OK]
Common Mistakes:
  • Using b/A instead of A\b
  • Using inv(A)\b which solves wrong system
  • Confusing multiplication with solving
3. Given A = [2 1; 3 4] and b = [5; 10], what is the result of x = A\b?
medium
A. [1; 2]
B. [5; 6]
C. [0; 0]
D. [2; 1]

Solution

  1. Step 1: Write the system of equations

    2x1 + x2 = 5
    3x1 + 4x2 = 10.
  2. Step 2: Solve using elimination

    Multiply first equation by 4: 8x1 + 4x2 = 20.
    Subtract second: 5x1 = 10 -> x1 = 2.
    Substitute: x2 = 5 - 2*2 = 1.
  3. Step 3: Verify solution

    A*[2; 1] = [2*2 + 1*1; 3*2 + 4*1] = [5; 10] = b.
  4. Final Answer:

    [2; 1] -> Option D
  5. Quick Check:

    A\b = [2; 1] [OK]
Hint: Use A\b to get exact solution vector [OK]
Common Mistakes:
  • Miscalculating substitution (e.g., picking [1; 2])
  • Confusing with matrix multiplication A*b
  • Selecting x = b
4. What is wrong with this MATLAB code snippet?
A = [1 2; 3 4];
b = [5; 6; 7];
x = A\b;
medium
A. Backslash operator cannot solve linear systems
B. Matrix A and vector b have incompatible dimensions
C. Missing semicolon after assignment
D. Matrix A is not square

Solution

  1. Step 1: Check dimensions of A and b

    Matrix A is 2x2, vector b is 3x1. For Ax = b, number of rows in A must equal length of b.
  2. Step 2: Identify dimension mismatch

    Since A has 2 rows but b has 3 elements, dimensions are incompatible, causing an error when solving.
  3. Final Answer:

    Matrix A and vector b have incompatible dimensions -> Option B
  4. Quick Check:

    Rows of A must match length of b [OK]
Hint: Check matrix and vector sizes before solving [OK]
Common Mistakes:
  • Ignoring dimension mismatch errors
  • Thinking backslash works for any sizes
  • Assuming A must be square always
5. You have a non-square matrix A = [1 2 3; 4 5 6] and vector b = [7; 8]. What does x = A\b compute in MATLAB?
hard
A. The inverse of A times b
B. An error because A is not square
C. A least-squares solution minimizing ||Ax - b||
D. A random vector x

Solution

  1. Step 1: Recognize matrix shape and operation

    A is 2x3 (more columns than rows), so system is underdetermined.
  2. Step 2: Understand MATLAB's backslash behavior for non-square A

    MATLAB computes the least-squares solution x that minimizes ||Ax - b|| (minimum norm among solutions).
  3. Final Answer:

    A least-squares solution minimizing ||Ax - b|| -> Option C
  4. Quick Check:

    Backslash solves least-squares for non-square A [OK]
Hint: Backslash gives least-squares solution if A not square [OK]
Common Mistakes:
  • Expecting error for non-square A
  • Thinking it calculates inverse always
  • Assuming exact solution always exists
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard