How can I plot all iterations of my for loop?

7 次查看(过去 30 天)
Hey I'm kind of new to MALAB, so bear with me please!
I'm trying to plot the real and imaginary parts of the eigenvalue results in my for loop, as a function of I from [0,4].
Here's my code:
figure
hold on
for I = 0:0.1:4
p = [-1/3 0 -1 (I-2)]
r = roots(p)
x = r(3)
A = [(1 - x^2) -40 ; 1/800 -1/40]
e = eig(A)
plot(I,real(e(1)),'r-',I,imag(e(1)),'b-')
end
My plot keeps coming up empty, and no error shows up. what can i do?

采纳的回答

gonzalo Mier
gonzalo Mier 2020-11-17
Right now, each plot is plotting only one point. To achieve the behavior you want, create the vectors and plot them outside the for loop
figure
hold on
e=[];
for I = 0:0.1:4
p = [-1/3 0 -1 (I-2)]
r = roots(p)
x = r(3)
A = [(1 - x^2) -40 ; 1/800 -1/40]
e = [e,eig(A)]
end
plot(0:0.1:4,real(e(1,:)),'r-',0:0.1:4,imag(e(2,:)),'b-')

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by