Converting a for loop to a while loop

13 views (last 30 days)
Samantha Farmer
Samantha Farmer on 1 Oct 2018
Commented: madhan ravi on 12 Oct 2018

I'm trying to convert this for loop into a while loop but keep getting the x value of the while loop as zero when it should be random values.

    % code
x=0; 
y=randi(100,1,5); 
for i = 1:5     
    x=x+y(i); 
end 

This is what I have:

    % code
 x=0;
 y=randi(100,1,5);
 while i<6 && i>0
     x=x+y(i);
    i=i+1;
 end

Not sure how to get the x value to 'work'

Answers (2)

madhan ravi
madhan ravi on 1 Oct 2018
Edited: madhan ravi on 1 Oct 2018
x=zeros(1,5);
y=randi(100,1,5);
i=1
while i<6
x(i)=x(i)+y(i)
i=i+1;
end
  3 Comments
Samantha Farmer
Samantha Farmer on 11 Oct 2018
I've been understanding my hw for a little bit :)
madhan ravi
madhan ravi on 12 Oct 2018
Ok if it worked make sure to accept the answer as well :)

Sign in to comment.


Jan
Jan on 1 Oct 2018
The problem is, that i has not been initialized before the while loop. Then i is defined as sqrt(-1). See madhan ravi's answer, where i=1 is defined before the loop.

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!