while loop keeps running indefinitely

Why my code is not working? It keeps running indefinitely...
z0=[0.3 0.5 0.2];
test=0;
while test==0
disp('checking');
if exp(z0(2)*(1-z0(1)))<(1/z0(3))
z0=z;
else
r1 = 0 + (1-0).*rand(1,1);
r2= 0 + (10-0).*rand(1,1);
r3= 0 + (1-0).*rand(1,1);
z0=[r1 r2 r3];
end
test=0;
end

 採用された回答

James Tursa
James Tursa 2013 年 8 月 21 日

0 投票

You never set test to anything other than 0, so the loop condition is always true.

その他の回答 (0 件)

カテゴリ

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

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by