I'm trying to figure out how to save every point in my while loop in order to graph it in the comet function. My code looks like:
n = 1
score = 0
while n < 100
n = n + 1
x = randi(2);
if (x == 1)
score = score + 1;
elseif(x == 2)
score = score - 1;
end
end
comet(score)
All it currently does is show what score ends as and i what to plot every point before then as well. What should i change it to to make it keep and plot every prevouis score?

 채택된 답변

Von Duesenberg
Von Duesenberg 2018년 3월 11일

0 개 추천

Try this:
allScores = zeros(99,1);
n = 1;
score = 0;
while n < 100
x = randi(2);
if (x == 1)
score = score + 1;
elseif(x == 2)
score = score - 1;
end
allScores(n) = score;
n = n + 1;
end
comet(allScores)

댓글 수: 1

Given that before the loop starts the number of iterations is already known, a for loop would be a better choice:
score = 0;
allScores = zeros(99,1);
for n = 1:99
x = randi(2);
if x==1
score = score + 1;
elseif x==2
score = score - 1;
end
allScores(n) = score;
end
comet(allScores)
It would also be easy to remove the if:
score = 0;
allScores = zeros(99,1);
for n = 1:99
score = score + 1 - 2*randi(0:1);
allScores(n) = score;
end
comet(allScores)

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

태그

질문:

2018년 3월 11일

댓글:

2018년 3월 11일

Community Treasure Hunt

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

Start Hunting!

Translated by