0% found this document useful (0 votes)
18 views

While Loop

The document discusses the while loop in MATLAB which repeats a group of statements as long as an expression is true. It provides examples of using while loops to repeat statements until a condition is false, skip iterations with continue, and exit early with break. It also discusses expressions, tips, and more details about while loops.

Uploaded by

FABIAN FIENGO
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views

While Loop

The document discusses the while loop in MATLAB which repeats a group of statements as long as an expression is true. It provides examples of using while loops to repeat statements until a condition is false, skip iterations with continue, and exit early with break. It also discusses expressions, tips, and more details about while loops.

Uploaded by

FABIAN FIENGO
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

while

while loop to repeat when condition is true

collapse all in page

Syntax
while expression
statements
end

Description
example

while expression, statements, end evaluates an expression, and repeats the


execution of a group of statements in a loop while the expression is true. An expression
is true when its result is nonempty and contains only nonzero elements (logical or real
numeric). Otherwise, the expression is false.

Examples
collapse all

Repeat Statements Until Expression Is False

Use a while loop to calculate factorial(10).

n = 10;
f = n;
while n > 1
n = n-1;
f = f*n;
end
disp(['n! = ' num2str(f)])
n! = 3628800

Skip to Next Loop Iteration

Count the number of lines of code in the file magic.m. Skip blank lines and comments
using a continue statement. continue skips the remaining instructions in the while
loop and begins the next iteration.

fid = fopen('magic.m','r');
count = 0;
while ~feof(fid)
line = fgetl(fid);
if isempty(line) || strncmp(line,'%',1) || ~ischar(line)
continue
end
count = count + 1;
end
count
count = 31
fclose(fid);

Exit Loop Before Expression Is False

Sum a sequence of random numbers until the next random number is greater than an
upper limit. Then, exit the loop using a break statement.

limit = 0.8;
s = 0;

while 1
tmp = rand;
if tmp > limit
break
end
s = s + tmp;
end

More About
collapse all

Expression

An expression can include relational operators (such as < or ==) and logical operators
(such as &&, ||, or ~). Use the logical operators and and or to create compound
expressions. MATLAB evaluates compound expressions from left to right, adhering to
operator precedence rules.

Within the conditional expression of a while...end block, logical operators & and |
behave as short-circuit operators. This behavior is the same as && and ||, respectively.
Since && and || consistently short-circuit in conditional expressions and statements, it is
good practice to use && and || instead of & and | within the expression. For example,

x = 42;
while exist('myfunction.m','file') && (myfunction(x) >= pi)
disp('Expressions are true')
break
end

The first part of the expression evaluates to false. Therefore, MATLAB does not need to
evaluate the second part of the expression, which would result in an undefined function
error.

Tips
If you inadvertently create an infinite loop (that is, a loop that never ends on its
own), stop execution of the loop by pressing Ctrl+C.
If the conditional expression evaluates to a matrix, MATLAB evaluates the
statements only if all elements in the matrix are true (nonzero). To execute
statements if any element is true, wrap the expression in the any function.
To programmatically exit the loop, use a break statement. To skip the rest of the
instructions in the loop and begin the next iteration, use a continue statement.
When nesting a number of while statements, each while statement requires an
end keyword.

You might also like