logo
для вялички / TROPA V MATLAB_21

4.3 Операторы ветвления

Ветвление в ходе работы программы осуществляется при помощи конструкции 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 будет больше трех.

Yandex.RTB R-A-252273-3
Yandex.RTB R-A-252273-4