How to plot a variable increasing in a for loop
30 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
for F1 = 0.1:0.01:1
f1 = (F1*fs);
f2 = ((F1-0.001)*fs);
end
plot(f1,f2,"*-") %????
This currently brings a plot in the right scale but with only one point on it. Essentially i want every iteration of f1 and f2 as F1 increases to be plotted.
1 comentario
Respuestas (2)
Les Beckham
el 8 de Feb. de 2023
Also, I would recommend taking the time to go through the online tutorial here: Matlab Onramp
0 comentarios
Jan
el 8 de Feb. de 2023
Editada: Jan
el 8 de Feb. de 2023
If the plot should be expanded in each iteration, move the plot command inside the loop:
axes('NextPlot', 'add'); % As hold('on')
for F1 = 0.1:0.01:1
f1 = F1 * fs;
f2 = (F1 - 0.001) * fs;
plot(f1, f2, "*")
end
A better option is to create vectors inside the loop:
F1 = 0.1:0.01:1;
for k = 1:numel(F1)
f1(k) = F1(k) * fs;
f2(k) = (F1(k) - 0.001) * fs;
end
plot(f1, f2, "*")
But you can even omit the loop:
F1 = 0.1:0.01:1;
f1 = F1 * fs;
f2 = (F1 - 0.001) * fs;
plot(f1, f2, "*")
1 comentario
Steven Lord
el 8 de Feb. de 2023
Another option is to create an animatedline before the loop and addpoints to it inside the loop. Uncomment the pause statement or add some form of drawnow when running if you want to see the animation.
x = 0:360;
axis([0 360 -1 1])
hold on
h = animatedline;
for nextPoint = x
addpoints(h, nextPoint, sind(nextPoint))
% pause(0.01)
end
Ver también
Categorías
Más información sobre Animation en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!