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

回答(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 个评论

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

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

产品

版本

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by