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 日

0 投票

"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 件のコメント

Magnarok
Magnarok 2017 年 2 月 13 日
編集済み: Magnarok 2017 年 2 月 13 日
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);
dpb
dpb 2017 年 2 月 13 日
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 ExchangeCreating, Deleting, and Querying Graphics Objects についてさらに検索

質問済み:

2017 年 2 月 13 日

編集済み:

2017 年 2 月 13 日

Community Treasure Hunt

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

Start Hunting!

Translated by