plot complex eigenvalues over time

Given an 1584 x 8 matrix of 8 complex eigenvalues varying over 1584 time steps, I'd like to plot them together in maybe a 3-d plot? This will allow me to see how all eigenvalues change with time, all on one plot.
Thank you for your help
Doug

Answers (1)

n = 20;
x = (3+randn(n,8)) + 1i*(2+randn(n, 8)); % generate some data 20x8 instead of 1584 x 8
cmap = jet(n);
% use different color for different time
figure
hold on
for i=1:n
plot3(real(x(i,:)), imag(x(i, :)), i*ones(1,8), 'o','Color', cmap(i,:));
end
box on
grid on
xlabel('Real'); ylabel('Imag'); zlabel('Time')
view(3)
figure
% Use color to reprenset eigen values
m = 8
m = 8
cmap = jet(m);
% use different color for different time
figure
hold on
for j=1:m
plot3(real(x(:,j)), imag(x(:, j)), (1:n), 'o','Color', cmap(j,:));
end
box on
grid on
xlabel('Real'); ylabel('Imag'); zlabel('Time')
view(3)

2 Comments

Thank you Chunru. I have modified your code for my system and it works:
n=1584
cmap = jet(n)
% use different color for different time
figure
hold on
for i=1:n
plot3(real(eigs_Asys(i,:)),imag(eigs_Asys(i,:)), i*ones(1,8), '.','Color', cmap(i,:));
%plot3(real(x(i,:)), imag(x(i, :)), i*ones(1,8), 'o','Color', cmap(i,:));
end
box on
grid on
xlabel('Real'); ylabel('Imag'); zlabel('Sample')
view(3)
Instead of using different colors for different time I'd like to use different color for the 8 different eigenvalues. How can I modify the code to perform to do this?
Thanks, Doug
See above.

Sign in to comment.

Categories

Find more on MATLAB in Help Center and File Exchange

Products

Release

R2021a

Asked:

on 5 Jan 2022

Commented:

on 8 Jan 2022

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!