Условные операторы позволяют вам выбрать во время исполнения блок кода, который будет выполнен. Самый простой условный оператор является оператором if. Например:
% Generate a random number
a = randi(100, 1);
% If it is even, divide by 2
if rem(a, 2) == 0
disp('a is even')
b = a/2;
endОператоры if могут включать альтернативный выбор, с помощью дополнительных ключевых слов elseif или else. Например:
a = randi(100, 1);
if a < 30
disp('small')
elseif a < 80
disp('medium')
else
disp('large')
endТакже когда это необходимо, чтобы протестировать на равенство множеству известных значений, используйте оператор switch. Например:
[dayNum, dayString] = weekday(date, 'long', 'en_US');
switch dayString
case 'Monday'
disp('Start of the work week')
case 'Tuesday'
disp('Day 2')
case 'Wednesday'
disp('Day 3')
case 'Thursday'
disp('Day 4')
case 'Friday'
disp('Last day of the work week')
otherwise
disp('Weekend!')
endИ для if и для switch, MATLAB® выполняет код, соответствующий первому истинному условию, и затем выходит из блока кода. Каждый условный оператор требует ключевого слова end.
В целом, когда у вас есть много возможных дискретных, известных значений, операторы switch легче считать, чем операторы if. Однако вы не можете протестировать на неравенство между значениями в switch и в case. Например, невозможно реализовать этот тип условия с применением switch:
yourNumber = input('Enter a number: ');
if yourNumber < 0
disp('Negative')
elseif yourNumber > 0
disp('Positive')
else
disp('Zero')
end