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

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

Смотрите также

| | |