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