Help! My first for-loop plot

6 visualizaciones (últimos 30 días)
Magnarok
Magnarok el 13 de Feb. de 2017
Editada: Magnarok el 13 de Feb. de 2017
Hello.
I'm trying to make a simple for-loop plot, but I can't get the line to show! Where did it go? I even specified it as dashed blue line.
x=[0:0.1:3*pi];
y=sin(x);
for i=0:0.5:3*pi
if sin(i) > 0
plot(i,1,'--bx')
elseif sin(i) < 0
plot(i,-1,'--bx')
else
end
end
plot(x,y);

Respuesta aceptada

dpb
dpb el 13 de Feb. de 2017
Editada: dpb el 13 de Feb. de 2017
"I can't get the line to show! Where did it go?"
It didn't "go" anywhere, you never actually plotted it--in
if sin(i) > 0
plot(i,1,'--bx')
you're only plotting a single point each call and there's also not a hold statement so each new call to plot draws as if was first and only point on the axes.
Try
plot(x,sign(y),'--b')
hold all
plot(x,y)
ADDENDUM
If you really are trying to do animation here is reason for loop rather than just unfamiliarity with Matlab and vector operations, look at
doc addpoints % for the animatedline object
  3 comentarios
dpb
dpb el 13 de Feb. de 2017
No "not like that"... :) That's the same as you see you don't get a line but a series of points. You don't need a loop at all; the three lines I showed are the entire code required.
"change it to plot(x, sin(y), '-b') as you said,..."
That is NOT what I wrote at all...read more carefully!
EWWW!!! My bad I should TYPE and PROOFREAD more carefully!!! :(
Fixed in Answer.
Magnarok
Magnarok el 13 de Feb. de 2017
Editada: Magnarok el 13 de Feb. de 2017
Thank you! Just started out MATLAB you see... :)
Got a hint elsewhere to use for-loop.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Creating, Deleting, and Querying Graphics Objects en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by