Next: 3.3.3 if-else-end struktura
Up: 3.3 Petlje i uvjetne
Previous: 3.3.1 for petlje
Kod while petlje naredbe između while i
end izvršavaju se sve dok su svi elementi
izraz-a istiniti:
>> while izraz
naredbe...
end
Razmotrimo sljedeći primjer
>> num=0;EPS=1;
>> while (1+EPS)>1
EPS=EPS/2;
num=num+1;
end
>> num
num =
53
>> EPS=2*EPS
EPS =
2.2204e-016
>> eps
eps =
2.2204e-016
Ovaj primjer prikazuje jedan od načina određivanja vrijednosti
najmanjeg broja (EPS) koji može biti dodan 1 tako da je
rezultat tog zbroja
koristeći konačnu
preciznost. Našu smo varijablu EPS usporedili s specijalnom funkcijom MATLAB-a - eps.
Što se zapravo događa u ovoj petlji.
Vrijednost EPS se stalno smanjuje od početne vrijednosti
(EPS=1) pri svakom prolazu kroz petlju. Budući da MATLAB koristi 16
znamenaka pri prezentiranju brojeva za očekivati je da
EPS (odnosno eps) bude oko
. Tako je
uvjet
neistinit (false, jednak nuli) i petlja se prekida. Na
kraju EPS množimo sa 2 jer se u zadnjem prolazu kroz
petlju stvarna vrijednost EPS podijelila sa 2.
Milan Vrdoljak, 2007-10-15