32 Rozdział 3
Instrukcja while ma postać
while wyrażenie_warunkowe instrukcje
Instrukcje między while i end są wykonywane dopóty, dopóki wartość wyraże-nia_warunkowego ma wartość true, tzn. gdy macierz będąca wartością wyrażę -nia_logicznego ma wszystkie elementy niezerowe. Pętla while jest zatem wykonywana nieokreśloną z góry liczbę razy. Przerwanie pętli while umożliwia instrukcja break.
% skrwhile.m
% exp(x) = 1+ x + x~2/2 + x~3/3 + ...
eps=le-3; % dokładność obliczeń
a=3; % wartość dla której należy obliczyć exp
x=a; y=l; k=l;
while x >= eps
k=k+l; y=y+x; x=x*a/k;
end
expad=exp(a); % obliczenia wg funkcji Matlaba exp() expap=y; % obliczenia przybliżone wg wzoru iteracyjnego bladobl=(expap-expad)/expad*100; % procentowy blad obliczeń disp(' Obi. dokładne exp(a) = ');
expad
disp(' Obi. wg wzoru iteracyjnego exp (a) =l+a+a/s2/2+ ... = ),-expap
disp(' Procentowy blad obliczeń przybliżonych bladobl = ');
bladobl
Opuszczenie pętli for lub while przed zakończeniem jej wykonania może być dokonane za pomocą break. W przypadku pętli zagnieżdżonych użycie break powoduje przejście do pętli nadrzędnej.
%Wyznaczenie dokładności komputera za pomocą for oraz break eps=l;
for i = l: 10000 eps=eps/2;
if(eps+l<=l) break
end
end
eps=eps*2;
disp('Dokładność komputera wynosi'); disp(eps);