Converting a for loop to a while loop

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 haven’t heard from you in a while
I've been understanding my hw for a little bit :)
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

Asked:

on 1 Oct 2018

Commented:

on 12 Oct 2018

Community Treasure Hunt

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

Start Hunting!