半径1、中心(0,0​)の円をy>=0で赤​、それ以外を青。if​とforを用いてプロ​ットしたいです。自分​で何十回とやってみた​のですがどうもうまく​いきません。どなたか​ご助力いただけると幸​いです。

for c=0:360
x=cos(deg2rad(c))
y=sin(deg2rad(c))
if y>=0
plot(x,y,'-ro');
else
plot(x,y,'-bx');
end
end

 Akzeptierte Antwort

Atsushi Ueno
Atsushi Ueno am 28 Jun. 2021

1 Stimme

足りないのは、hold onです。
hold onを削除して、forループ内にpauseを置くと、何が起こっていたか理解する事が出来ます。
figure
hold on % 現在のプロット(figure)を保持する
for c=0:360
x=cos(deg2rad(c));
y=sin(deg2rad(c));
if y>=0
plot(x,y,'-ro');
else
plot(x,y,'-bx');
end
pause(0.01);% ウェイトを追加(動きを理解するのに役立ちます)
end
hold off % hold onを解除する

Weitere Antworten (0)

Kategorien

Mehr zu MATLAB finden Sie in Hilfe-Center und File Exchange

Produkte

Version

R2021a

Community Treasure Hunt

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

Start Hunting!