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