Подфункции

End

Catch,

Try

Команда break

Командаbreak прекращает выполнение циклов, образованных командами forили while.Ко-гда в теле цикла встречается данная команда, дальнейшее выполнение происходит начиная со следующей строки вне данного цикла. Во вложенных циклах, командаbreak приводит к выходу только из внутреннего цикла.

Команды try ... catch

Общая форма последовательности команд try ... catch имеет вид

 

statement,

...,

statement,

statement,

...,

statement,

В данной последовательности выполняются операторы между командами tryиcatchдо тех пор, пока не происходи какая-либо ошибка вычислений. Тогда управление передается («пе-рехватывается») последовательносью операторов между командамиcatchиend. Длятого чтобыузнать причину, приведшую к ошибке, можно воспользоваться комндой lasterr (пос-ледняя ошибка). Если ошибка случается между командами catchиend, то MATLAB прек-ращает вычисления, если только между предыдущими командами catchиend не установле-на другая последовательность команд try ... catch.

Команда return

Команда returnпрекращает выполнение текущей последвательности команд и возвращает управление в вызывающую функцию (то есть «родительскую» функцию, из которой была вызвана текущая функция) или же возвращает управление к клавиатуре. Команда return так-же приводит к окончанию режима keyboard(последняя команда, когда встречается в теле программы, передает управление клавиатуре; она часто используется при отладке програм-мы). При обычных условиях работы вызванная функция передает управление в вызываю-щую функцию когда первая выполнена полностью, то есть до конца. Команда return может быть включена в тело вызываемой функции для того чтобы прекратить ее исполнение при выполнении определенных условий.

М-функции могут содержать коды более чем одной функции. Первая функция в файле являе-тся главной функцией (primary function), которая имеет имя самого М-файла. Дополнитель-ные функции в пределах данного файла являются подфункциями (subfunctions), которые «ви-дны» (то есть могут быть вызваны) только для главной функции или других подфункций то-го же файла. Каждая подфункция начинается со своей линии определения. Все подфункции следуют непосредственно друг за другом. Порядок следования различных подфункций не имеет никакого значения, при этом главная функция должна быть обязательно записана пер-вой. Например,

 

 

function [avg,med] = newstats(u) %Главная функция

% NEWSTATS Находит среднее значение и медиану при помощи внутренних

%подфункций.

n = length(u);

avg = mean(u,n);

med = median(u,n);

function a = mean(v,n) %Подфункция

%Находит среднее значение.

a = sum(v)/n;

function m = median(v,n) %Подфункция

%Находит медиану.

w = sort(v);

if rem(n,2) == 1

m = w((n+1)/2);