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