how to use while loop

조회 수: 2 (최근 30일)
Sharen H
Sharen H 2012년 11월 23일
i have written a code to find the mod and dividend values of an image.if i
use while loop its getting executed continuously with out stop..can any one
help me where i am wrong...Thanks in advance
share = [250 250 ]
k=ceil(log(250)/log(5));
[r,c]=size(share)
for m= 1:r
for n = 1:c
while share(m,n)>=0
digits=mod(share(m,n),5)
share(m,n)=ceil(share(m,n)/5)
end
end
end

답변 (2개)

Walter Roberson
Walter Roberson 2012년 11월 23일
Suppose share(m,n) was 1. Then 1/5 is 0.2 and ceil(0.2) is 1. Opps, infinite loop!

Matt Fig
Matt Fig 2012년 11월 23일
편집: Matt Fig 2012년 11월 23일
Think about this for a second: share(m,n) is initially positive. Then you repeatedly divide it by 5 in the inner while loop. How do you expect to ever get share(m,n) to be negative simply by dividing it by 5? But that is exactly what is needed to break that inner while loop....
For all x > 0: x/5 > 0, correct? So of course x/5 >= 0

카테고리

Help CenterFile Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by