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 中查找有关 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