exponenta event banner

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

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

См. также

| | |