i want to see each plot figure for every j i have, so how can i do it?

1 vue (au cours des 30 derniers jours)
Quynh Tran
Quynh Tran le 18 Sep 2022
Commenté : Quynh Tran le 18 Sep 2022
L=5;
R=20;
i_0=0.5;
v=5;
dt1=[0.1,0.01,0.001];
for j=length(dt1)
dt=dt1(j)
t=[0:dt:1];
N=length(t);
i_bd(1)=i_0;
for k=2:N
i_bd(k)=(dt*v/L+i_bd(k-1))/(1+R/L*dt);
end
i_fd(1)=i_0;
for k=1:N-1
i_fd(k+1)=dt*v/L-i_fd(k)*(dt*R/L-1);
end
figure(j); plot(t,i_bd,t,i_fd,'LineWidth',2)
% right here I wish I could see each figure for every j, right now it only prints out plot for j=3
xlabel('Time [s]')
ylabel('Current [A]')
legend('i backward','i forward')
end

Réponse acceptée

Simon Chan
Simon Chan le 18 Sep 2022
Your for loop states j = length(dt1), which is 3 in your case. So the for loop only do figure 3 for you.
Use the following instead.
for j=1:length(dt1)

Plus de réponses (1)

Image Analyst
Image Analyst le 18 Sep 2022
Instead of
figure(j)
just simply do
figure;
to bring up a totally new figure window.
  1 commentaire
Quynh Tran
Quynh Tran le 18 Sep 2022
Modifié(e) : Quynh Tran le 18 Sep 2022
it returns 1 figure (figure 1) only for j=3, figures for j=1 and j=2 are not showing. I tried hold on too but still doesn't work

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by