Условные операторы

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

См. также

| | |