Bird
Raised Fist0
MATLABdata~5 mins

Complex numbers in MATLAB

Choose your learning style10 modes available
Introduction

Complex numbers let us work with numbers that have a real part and an imaginary part. They help solve problems that normal numbers can't handle.

When you need to represent signals in engineering that have both magnitude and phase.
When solving equations that have no real solutions, like square roots of negative numbers.
When working with electrical circuits involving alternating current (AC).
When analyzing waves or oscillations in physics.
When performing Fourier transforms in data processing.
Syntax
MATLAB
z = a + b*i;
% or
z = complex(a, b);

Here, a is the real part and b is the imaginary part.

In MATLAB, i or j represents the imaginary unit (√-1).

Examples
This creates a complex number with real part 3 and imaginary part 4.
MATLAB
z1 = 3 + 4i;
This creates a complex number with real part 5 and imaginary part -2 using the complex function.
MATLAB
z2 = complex(5, -2);
You can also use j instead of i for the imaginary unit.
MATLAB
z3 = 7 - 3j;
Sample Program

This program creates two complex numbers, adds them, multiplies them, and prints the results showing real and imaginary parts.

MATLAB
a = 2 + 3i;
b = complex(1, -1);
sum = a + b;
product = a * b;

fprintf('Sum: %.2f + %.2fi\n', real(sum), imag(sum));
fprintf('Product: %.2f + %.2fi\n', real(product), imag(product));
OutputSuccess
Important Notes

Use real(z) and imag(z) to get the real and imaginary parts of a complex number.

Be careful not to overwrite i or j as variables, or MATLAB will not recognize them as imaginary units.

Complex arithmetic follows special rules different from real numbers, but MATLAB handles them automatically.

Summary

Complex numbers have a real and an imaginary part.

Use i or j to write imaginary parts in MATLAB.

MATLAB provides functions to create and work with complex numbers easily.

Practice

(1/5)
1. Which of the following correctly represents a complex number with real part 3 and imaginary part 4 in MATLAB?
easy
A. 3 + 4
B. 3i + 4
C. 3 + 4i
D. 3 + 4j + 1

Solution

  1. Step 1: Understand complex number format in MATLAB

    Complex numbers are written as real part plus imaginary part times i or j, e.g., 3 + 4i.
  2. Step 2: Check each option

    3 + 4i uses 3 + 4i which is correct. 3 + 4 misses imaginary part. 3i + 4 swaps real and imaginary incorrectly. 3 + 4j + 1 adds extra 1.
  3. Final Answer:

    3 + 4i -> Option C
  4. Quick Check:

    Complex number = 3 + 4i [OK]
Hint: Use 'i' or 'j' after the imaginary part number [OK]
Common Mistakes:
  • Forgetting to include 'i' or 'j' for imaginary part
  • Swapping real and imaginary parts
  • Adding extra numbers outside complex format
2. Which of the following MATLAB commands correctly creates a complex number variable named z with real part 5 and imaginary part -2?
easy
A. z = complex(5, -2);
B. z = 5 + 2i;
C. z = 5 + -2;
D. z = 5 - 2;

Solution

  1. Step 1: Recall MATLAB syntax for complex numbers

    Using complex(real, imag) function is a clear way to create complex numbers.
  2. Step 2: Analyze options

    z = 5 - 2; is just a real number. z = 5 + 2i; creates 5 + 2i (wrong imaginary part). z = 5 + -2; is a real number. z = complex(5, -2); uses complex(5, -2) correctly.
  3. Final Answer:

    z = complex(5, -2); -> Option A
  4. Quick Check:

    complex(5, -2) creates correct complex number [OK]
Hint: Use complex(real, imag) for clear complex number creation [OK]
Common Mistakes:
  • Writing imaginary part without 'i' or 'j'
  • Using wrong sign for imaginary part
  • Confusing syntax of complex() function
3. What is the output of the following MATLAB code?
z1 = 2 + 3i;
z2 = 1 - 4i;
result = z1 * z2;
medium
A. 10 - 5i
B. 14 - 5i
C. 14 + 5i
D. 10 + 5i

Solution

  1. Step 1: Multiply complex numbers (a+bi)(c+di)

    Use formula: (ac - bd) + (ad + bc)i. Here a=2, b=3, c=1, d=-4.
  2. Step 2: Calculate real and imaginary parts

    Real: 2*1 - 3*(-4) = 2 + 12 = 14. Imaginary: 2*(-4) + 3*1 = -8 + 3 = -5. So result = 14 - 5i.
  3. Final Answer:

    14 - 5i -> Option B
  4. Quick Check:

    (2+3i)*(1-4i) = 14 - 5i [OK]
Hint: Multiply using (ac - bd) + (ad + bc)i formula [OK]
Common Mistakes:
  • Mixing signs in multiplication
  • Forgetting to multiply imaginary parts by i^2 = -1
  • Adding instead of subtracting real parts
4. Identify the error in the following MATLAB code snippet:
z = 4 + 5k;
disp(z);
medium
A. Variable 'k' is undefined, should use 'i' or 'j' for imaginary unit
B. Missing semicolon after assignment
C. disp() cannot display complex numbers
D. Real part must be negative

Solution

  1. Step 1: Check imaginary unit usage in MATLAB

    MATLAB uses 'i' or 'j' for imaginary unit, 'k' is not recognized.
  2. Step 2: Analyze code error

    Using '5k' causes an undefined variable error. Semicolon is optional. disp() works with complex numbers. Real part can be any number.
  3. Final Answer:

    Variable 'k' is undefined, should use 'i' or 'j' for imaginary unit -> Option A
  4. Quick Check:

    Imaginary unit must be 'i' or 'j' [OK]
Hint: Use only 'i' or 'j' for imaginary unit in MATLAB [OK]
Common Mistakes:
  • Using undefined letters for imaginary unit
  • Assuming semicolon is mandatory
  • Thinking disp() can't show complex numbers
5. You have two complex numbers a = 3 + 4i and b = 2 - 4i. Write MATLAB code to compute the magnitude of their sum and select the correct output.
sum_ab = a + b;
mag = abs(sum_ab);
disp(mag);
hard
A. 7
B. 4
C. 3
D. 5

Solution

  1. Step 1: Calculate sum of complex numbers

    a + b = (3 + 2) + (4 - 4)i = 5 + 0i.
  2. Step 2: Calculate magnitude using abs()

    Magnitude = sqrt(5^2 + 0^2) = sqrt(25) = 5.
  3. Step 3: Check output of disp(mag)

    MATLAB displays 5.
  4. Final Answer:

    5 -> Option D
  5. Quick Check:

    abs(5 + 0i) = 5 [OK]
Hint: Use abs() to get magnitude of complex number [OK]
Common Mistakes:
  • Adding magnitudes instead of complex numbers
  • Forgetting to use abs() for magnitude
  • Calculating magnitude incorrectly
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