Converting a for loop to a while loop

9 visualizzazioni (ultimi 30 giorni)
Samantha Farmer
Samantha Farmer il 1 Ott 2018
Commentato: madhan ravi il 12 Ott 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'

Risposte (2)

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

Accedi per commentare.


Jan
Jan il 1 Ott 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.

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by