Matlab has a standard if-elseif-else conditional; for example:
>> t = rand(1);
>> if t > 0.75
s = 0;
elseif t < 0.25
s = 1;
else
s = 1-2*(t-0.25);
end
>> s
s =
0
>> t
t =
0.7622
The logical operators in Matlab are <, >, <=, >=, ==
(logical equals), and ~= (not equal).
These are binary operators which return the values
0 and 1 (for scalar arguments):
>> 5>3
ans =
1
>> 5<3
ans =
0
>> 5==3
ans =
0
Thus the general form of the if statement is
if expr1 statements elseif expr2 statements . . . else statements endThe first block of statements following a nonzero expr executes.
Matlab provides two types of loops, a for-loop (comparable to a Fortran do-loop or a C for-loop) and a while-loop. A for-loop repeats the statements in the loop as the loop index takes on the values in a given row vector:
>> for i=[1,2,3,4]
disp(i^2)
end
1
4
9
16
(Note the use of the built-in function disp, which simply displays
its argument.) The loop, like an if-block, must be terminated by end.
This loop would more commonly be written as
>> for i=1:4
disp(i^2)
end
1
4
9
16
(recall that 1:4 is the same as [1,2,3,4]).
The while-loop repeats as long as the given expr is true (nonzero):
>> x=1;
>> while 1+x > 1
x = x/2;
end
>> x
x =
1.1102e-16