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