Help! My first for-loop plot

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);

 采纳的回答

dpb
dpb 2017-2-13
编辑:dpb 2017-2-13
"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 个评论

Like this? Still no line, and I tried change it to plot(x, sin(y), '-b'); as you said, but it plotted wrong poits for me.
x=[0:0.1:3*pi];
y=sin(x);
hold all
for i=0:0.1:3*pi
if sin(i) > 0
plot(i,1,'-bo');
elseif sin(i) < 0
plot(i,-1,'-bo');
else
end
end
plot(x,y);
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 2017-2-13
编辑:Magnarok 2017-2-13
Thank you! Just started out MATLAB you see... :)
Got a hint elsewhere to use for-loop.

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Creating, Deleting, and Querying Graphics Objects 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by