Ветвление в ходе работы программы осуществляется при помощи конструкции if-elseif-else. Самый простой вариант ее использования (без elseif и else) реализован в файл-функции possum , которая предназначена для нахождения суммы всех элементов вектора, больших 2:
function s=possum2(x)
s=0;
for k=1:length(x)
if x(k)>2
s=s+x(k);
end
end
Если ход программы должен изменяться в зависимости от нескольких условий, то следует использовать полную конструкцию if-elseif-else. Каждая из ветвей elseifв этом случае должна содержать условие выполнения набора команд, размещенных после нее. Важно понимать, что условия проверяются подряд, первое выполненное условие приводит к работе соответствующего набора, выходу из конструкции if-elseif-else и переходу к команде, следующей за end. У последней ветви else не должно быть никакого условия. Команды, находящиеся между elseи end, выполняются в том случае, если все условия оказались невыполненными.
Предположим, что требуется написать файл-функцию для вычисления кусочно-заданной функции:
f(x)=
Она имеем вид
function f=pwf(x)
if x<-1
f=-abs(x)^(1/3);
elseif x<=3
f=x;
else
f=2-x;
end
Первое условие x < -1 проверяется в ветви if. Отметим, что условие –1 ≤ x не требуется включать в следующую ветвь elseif , поскольку в эту ветвь программа заходит, если предыдущее условие (x < -1) не выполнено. Условие x > 3 также проверять не надо. Если не выполнены два предыдущих условия x < -1 и x ≤ 3, то x будет больше трех.