Converting a for loop to a while loop

8 Ansichten (letzte 30 Tage)
Samantha Farmer
Samantha Farmer am 1 Okt. 2018
Kommentiert: madhan ravi am 12 Okt. 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'

Antworten (2)

madhan ravi
madhan ravi am 1 Okt. 2018
Bearbeitet: madhan ravi am 1 Okt. 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 Kommentare
Samantha Farmer
Samantha Farmer am 11 Okt. 2018
I've been understanding my hw for a little bit :)
madhan ravi
madhan ravi am 12 Okt. 2018
Ok if it worked make sure to accept the answer as well :)

Melden Sie sich an, um zu kommentieren.


Jan
Jan am 1 Okt. 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.

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by