plot complex eigenvalues over time

4 views (last 30 days)
Douglas Bowman
Douglas Bowman on 5 Jan 2022
Commented: Chunru on 8 Jan 2022
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)

Chunru
Chunru on 6 Jan 2022
Edited: Chunru on 8 Jan 2022
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
Douglas Bowman
Douglas Bowman on 6 Jan 2022
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

Sign in to comment.

Categories

Find more on Eigenvalues & Eigenvectors in Help Center and File Exchange

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!