Условные операторы позволяют вам выбрать во время исполнения блок кода, который будет выполнен. Самым простым условным оператором является 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;
endif операторы могут включать альтернативный выбор, с помощью дополнительных ключевых слов 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