Система математических расчетов MATLAB

Методическое пособие - Компьютеры, программирование

Другие методички по предмету Компьютеры, программирование

?ду break. При этом, естественно, следует сформировать соответствующее логическое условие выхода из цикла.

 

Команда while и пустые массивы

Если условие при while сводится к пустому массиву, то оно соответствует ложному выраже-нию, то есть последовательность команд

 

while A

S1;

end

 

никогда не выполнит оператор S1 если A есть пустой массив.

 

 

Команда for

Цикл с командой for обрабатывает оператор или группу опреаторов заранее заданное число раз. Ее синтаксис имеет вид

 

for index = start:increment:end

statements

end

 

где index является изменяемым целочисленным индексом с начальным и конечным значе-ниями start и end и приращением increment. По умолчанию, приращение равно 1, но вы мо-жете задать любое приращение, включая и отрицательное. При положительных индексах, выполнение прекращается когда значение индекса превышает конечное значение end; при отрицательных приращениях выполнение прекращается когда индекс становится меньше конечного значения.

Например, следующий цикл выполняется пять раз.

 

for i = 2:6

x(i) = 2*x (i1);

end

 

Вы можете использовать вложенные циклы с комндой for:

 

for i = 1:m

for j = 1:n

A (i, j) = 1/(i + j 1) ;

end

end

 

Внимание ! Вы можете зачастую ускорить выполнение кодов в MATLAB-е путем замены циклов с for и while векторизованными кодами (см. ниже).

 

 

Использование в качестве индексов массивов

Индексы команды for могут быть массивом значений. Например, рассмотрим массив А раз-мера m х n . Выражение

 

for i = A

statements

end

 

приравнивает индекс I вектору A(: , k). При первой итерации значение k равно 1; при второй итерации k равно 2 , и так до тех пор, пока k не становится равным n. Иными словами, цикл повторяется n раз, где n есть число столбцов в A. При этом, при каждой итерации индекс i является вектром, содержащим один из столбцов матрицы A.

 

 

 

Команда continue

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

 

 

 

Команда break

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

 

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

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

 

try

statement,

...,

statement,

catch,

statement,

...,

statement,

end

 

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

 

 

Команда return

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