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 件のコメント

Stephen23
Stephen23 2018 年 9 月 11 日
@Jordan Means: please show us the while loop that you tried.

サインインしてコメントする。

 採用された回答

Steven Beumer
Steven Beumer 2018 年 9 月 11 日

1 投票

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 .

1 件のコメント

Jordan Means
Jordan Means 2018 年 9 月 11 日
Thanks. I guess the i = i + 1 was what I was missing.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File Exchange で Loops and Conditional Statements についてさらに検索

製品

リリース

R2016a

Community Treasure Hunt

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

Start Hunting!

Translated by