MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn moreOpportunities for recent engineering grads.

Apply Today
Asked by Sharen H on 23 Nov 2012

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

*No products are associated with this question.*

Answer by Walter Roberson on 23 Nov 2012

Suppose share(m,n) was 1. Then 1/5 is 0.2 and ceil(0.2) is 1. Opps, infinite loop!

Answer by Matt Fig on 23 Nov 2012

Edited by Matt Fig on 23 Nov 2012

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

For all x > 0: x/5 > 0, correct? So of course x/5 >= 0

## 0 Comments