Plot Complex Numbers - MATLAB & Simulink (2024)

Open Live Script

This example shows how to plot complex numbers in MATLAB®. A complex number z is a number that can be written in the form

z=x+yi,

where x and y are real numbers, and i is the imaginary unit, which is defined as i2=-1. The number x is the real part of the complex number, which is denoted by x=Re(z), and the number y is the imaginary part of the complex number, which is denoted by y=Im(z). You can plot a complex number as a pair of coordinates (x,y) on the complex plane, also known as the Argand diagram. This diagram uses the Cartesian coordinates to represent the real part in the x-axis and the imaginary part in the y-axis.

You can also represent a complex number using the polar representation. The complex number is written in the form

z=reiθ=r(cosθ+isinθ),

where r is the absolute value or magnitude of the complex number, and θ is the phase angle of the complex number. In this representation, you can plot a complex number as a point in the polar coordinates with radius r (the distance from the origin) and polar angle θ (the counterclockwise angle between the positive real axis and the line connecting the point to the origin).

Plot Array of Complex Numbers

Create a vector that contains the complex numbers 3 + 4i, -4 - 3i, 1 - 2i, and -1 - 1i.

z = [3 + 4i; -4 - 3i; 1 - 2i; -1 - 1i]
z = 4×1 complex 3.0000 + 4.0000i -4.0000 - 3.0000i 1.0000 - 2.0000i -1.0000 - 1.0000i

Plot the imaginary part against the real part of the complex vector z by using plot. Use the real function and imag function to return the real and imaginary parts of the complex vector, respectively.

plot(real(z),imag(z),"o")axis equalgrid onxlabel("Re(z)")ylabel("Im(z)")

You can also use plot(z,LineSpec) instead of plot(real(z),imag(z),LineSpec) to plot an array of complex numbers. This function automatically plots the real part in the x-axis and the imaginary part in the y-axis.

Plot Complex Roots of Unity in Cartesian Coordinates

The nth roots of unity are complex numbers that satisfy the polynomial equation

zn=1,

where n is a positive integer.

The nth roots of unity are

exp(2kπin)=cos2kπn+isin2kπn, for k=0,1,,n-1.

To find the complex roots of unity, you can solve the polynomial equation by using roots. The roots function solves polynomial equations of the form p1xn++pnx+pn+1=0. For example, find the fifth roots of unity of z5=1, or z5-1=0.

p = [1 0 0 0 0 -1];z = roots(p)
z = 5×1 complex -0.8090 + 0.5878i -0.8090 - 0.5878i 0.3090 + 0.9511i 0.3090 - 0.9511i 1.0000 + 0.0000i

Plot the complex roots of unity in the Cartesian coordinates.

plot(z,"o")axis equalgrid onxlabel("Re(z)")ylabel("Im(z)")

Plot Complex Numbers- MATLAB & Simulink (2)

Plot Complex Numbers in Polar Coordinates

Plot the fifth roots of unity in the polar coordinates by using polarplot. Use the angle function to return the phase angles of the complex roots, and use the abs function to return the absolute values or radii of the complex roots.

polarplot(angle(z),abs(z),"o")

Plot Complex Numbers- MATLAB & Simulink (3)

You can also use polarplot(z,LineSpec) instead of polarplot(angle(z),abs(z),LineSpec) to plot an array of complex numbers in the polar coordinates. This function automatically plots the radii and phase angles of the complex numbers.

Plot Parametric Curve in Complex Plane

Define a parametric curve that has the form

z=f(t)=texp(it)

with the parameter t in the interval [0,4π].

Create a vector t of 200 equally spaced points within this interval to parameterize t. Define the points that lie on the complex curve as a complex vector z.

t = linspace(0,4*pi,200);z = t.*exp(1i*t);

Plot the complex curve in the Cartesian coordinates.

plot(z,"-")axis equalgrid onxlabel("Re(z)")ylabel("Im(z)")

Plot Complex Numbers- MATLAB & Simulink (4)

Plot the complex curve in the polar coordinates.

polarplot(z,"-")

Plot Complex Numbers- MATLAB & Simulink (5)

Plot Eigenvalues of Square Matrix

A real n-by-n square matrix has n eigenvalues (counting algebraic multiplicities) that either are real or occur in complex conjugate pairs.

For example, consider a 20-by-20 real matrix with random elements that are sampled from a standard normal distribution. Calculate the eigenvalues using eig.

rng("default")z = eig(randn(20));

Plot the imaginary part against the real part of all 20 eigenvalues. Notice that for each eigenvalue zk=xk+yki that is not on the real axis, there is another complex conjugate pair of this eigenvalue zk*=xk-yki.

plot(z,"o")axis equalgrid onxlabel("Re(z)")ylabel("Im(z)")

Plot Complex Numbers- MATLAB & Simulink (6)

Plot Multiple Complex Data Sets

Plot the imaginary part against the real part of two complex data sets. If you pass multiple complex input arguments to plot, such as plot(z1,z2), then the plot function ignores the imaginary part and plots only the real part of the inputs. To plot the real part against the imaginary part for multiple complex inputs, you must explicitly pass the real part and the imaginary part to plot.

For example, create two complex vectors z1 and z2.

x = -2:0.25:2;z1 = x.^exp(-x.^2);z2 = 2*x.^exp(-x.^2);

Find the real part and imaginary part of each vector by using the real and imag functions.

re_z1 = real(z1);im_z1 = imag(z1);re_z2 = real(z2);im_z2 = imag(z2);

Plot the complex data.

plot(re_z1,im_z1,"*",re_z2,im_z2,"o")axis equalgrid onlegend("z1","z2")xlabel("Re(z)")ylabel("Im(z)")

Plot Complex Numbers- MATLAB & Simulink (7)

See Also

plot | real | imag | polarplot | abs | angle

Plot Complex Numbers
- MATLAB & Simulink (2024)
Top Articles
Compare all Microsoft Office 365 Plans in one Overview
Ccga Address
Scheelzien, volwassenen - Alrijne Ziekenhuis
Use Copilot in Microsoft Teams meetings
Ffxiv Act Plugin
Ups Dropoff Location Near Me
Instructional Resources
Noaa Weather Philadelphia
Tlc Africa Deaths 2021
Buckaroo Blog
Baseball-Reference Com
4Chan Louisville
Https //Advanceautoparts.4Myrebate.com
Job Shop Hearthside Schedule
Nitti Sanitation Holiday Schedule
Magicseaweed Capitola
Bowie Tx Craigslist
Enterprise Car Sales Jacksonville Used Cars
Inside the life of 17-year-old Charli D'Amelio, the most popular TikTok star in the world who now has her own TV show and clothing line
Closest Bj Near Me
Sulfur - Element information, properties and uses
Orange Pill 44 291
Atdhe Net
Japanese Mushrooms: 10 Popular Varieties and Simple Recipes - Japan Travel Guide MATCHA
Filthy Rich Boys (Rich Boys Of Burberry Prep #1) - C.M. Stunich [PDF] | Online Book Share
Gotcha Rva 2022
Cain Toyota Vehicles
پنل کاربری سایت همسریابی هلو
Bfsfcu Truecar
John Philip Sousa Foundation
Rs3 Bring Leela To The Tomb
Superhot Free Online Game Unblocked
Ihs Hockey Systems
Babydepot Registry
Swimgs Yuzzle Wuzzle Yups Wits Sadie Plant Tune 3 Tabs Winnie The Pooh Halloween Bob The Builder Christmas Autumns Cow Dog Pig Tim Cook’s Birthday Buff Work It Out Wombats Pineview Playtime Chronicles Day Of The Dead The Alpha Baa Baa Twinkle
Bernie Platt, former Cherry Hill mayor and funeral home magnate, has died at 90
Hermann Memorial Urgent Care Near Me
Kelsey Mcewen Photos
Montrose Colorado Sheriff's Department
Indiefoxx Deepfake
Pawn Shop Open Now
Craigslist Rooms For Rent In San Fernando Valley
Sechrest Davis Funeral Home High Point Nc
UWPD investigating sharing of 'sensitive' photos, video of Wisconsin volleyball team
Bf273-11K-Cl
Richard Mccroskey Crime Scene Photos
Craigslist Marshfield Mo
Freightliner Cascadia Clutch Replacement Cost
116 Cubic Inches To Cc
Jimmy John's Near Me Open
Craigslist Monterrey Ca
La Fitness Oxford Valley Class Schedule
Latest Posts
Article information

Author: Greg Kuvalis

Last Updated:

Views: 6666

Rating: 4.4 / 5 (55 voted)

Reviews: 86% of readers found this page helpful

Author information

Name: Greg Kuvalis

Birthday: 1996-12-20

Address: 53157 Trantow Inlet, Townemouth, FL 92564-0267

Phone: +68218650356656

Job: IT Representative

Hobby: Knitting, Amateur radio, Skiing, Running, Mountain biking, Slacklining, Electronics

Introduction: My name is Greg Kuvalis, I am a witty, spotless, beautiful, charming, delightful, thankful, beautiful person who loves writing and wants to share my knowledge and understanding with you.