How can I convert this for if loop into a while loop?

Hello. MATLAB beginner here. I'm trying to convert a for loop to a while loop to finish up a final homework problem and it's supposed to get the same results, but it's not. I'm only getting the random numbers from the beginning equation. I believe the issue shouldn't be this hard to find, but I can't pinpoint what's wrong.
x=6*rand(1,10)+2
for i=1:10
if i<5
x(i)=-1;
elseif i>=5 && i<8
x(i)=1;
else
x(i)=3;
end
end
x

1 Kommentar

@Jordan Means: please show us the while loop that you tried.

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Steven Beumer
Steven Beumer am 11 Sep. 2018
x=6*rand(1,10)+2
i = 1;
while i<11
if i<5
x(i)=-1;
elseif i>=5 && i<8
x(i)=1;
else
x(i)=3;
end
i = i+1;
end
x
Should do the trick, just don't forget to update you i .

Weitere Antworten (0)

Kategorien

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

Produkte

Version

R2016a

Community Treasure Hunt

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

Start Hunting!

Translated by