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