Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Оператор цикла с неопределенным числом операций




 

 

Синтаксис:

 

while выражение

инструкции

end

 

Описание:

 

Оператор цикла с неопределенным числом операций while... end многократно выполняет инструкцию или группу инструкций, пока управляющее выражение истинно.

 

Если выражение использует массив, то все его элементы должны быть истинны для продолжения выполнения. Чтобы привести матрицу к скалярному значению, следует использовать функции any и all.

 

Пример.

Этот цикл с неопределенным числом операций находит первое целое число n, для которого n! - записывается числом, содержащим 100 знаков:

 

n = 1;

while prod(1:n) < 1e100

n = n + 1;

end

 

Выход из while-цикла может быть реализован с помощью оператора break.

 

Если в операторе while, управляющее условие является пустым массивом, то такое условие ложно, то есть оператор вида while A, S1, end никогда не выполнит инструкции S1, если А - пустой массив.
71) Оператор цикла с определенным числом операций

 

 

Синтаксис:

 

for <переменная цикла> = <начальное значение>: <приращение>:<конечное значение>

инструкции

end

 

Описание:

 

Оператор цикла for.... end выполняет инструкцию или группу инструкций предопределенное число раз. По умолчанию приращение равно 1. Можно задавать любое приращение, в том числе отрицательное. Для положительных индексов выполнение завершается, когда значение индекса превышает <конечное значение>; для отрицательных приращений выполнение завершается, когда индекс становится меньше чем <конечное значение>.

 

Пример

 

Этот цикл выполняется пять раз:

for i = 2:6

x(i) = 2*x(i-1);

end

Допустимы вложенные циклы типа:

for i = 1:m

for j = 1:n

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

end

end

 

Использование массива в качестве переменной цикла. В качестве переменной цикла for могут использоваться массивы.

 

Пример.

Рассмотрим массив A размера mхn. Оператор цикла

 

for i = A

инструкции

end

 

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

 

Встроенные функции.

 

Начиная с версии MATLAB 5, M-файлы могут содержать коды для более, чем одной функции. Первая функция в файле -это основная функция, вызываемая по имени M-файла. Другие функции внутри файла - это подфункции, которые являются видимыми только для основной функции и других подфункций этого же файла.

 

Каждая подфункция имеет свой собственный заголовок. Подфункции следуют друг за другом непрерывно. Подфункции могут вызываться в любом порядке, в то время как основная функция выполняется первой.Основная функция function [avg, med] = newstats (u)

% NEWSTATS Находит среднее значение и медиану для элементов вектора u, используя встроенные функции.

n = length(u);

avg = mean(u,n);

med = median(u,n);

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

% Вычислить среднее.

a = sum(v)/n;

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

% Вычислить медиану.

w = sort(v);

if rem(n,2) == 1

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

else

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

end

 

 

Подфункции mean и median вычисляют среднее и медиану входного списка. Основная функция newstats определяет длину списка и вызывает подфункции, передавая им длинну списка n. Функции внутри одного и того же М-файла не могут обращаться к одним и тем же переменным, если они не объявлены глобальными переменными внутри соответствующих функций, или не переданы им в качестве параметров. Следует иметь в виду, что справка help может видит только основную функцию и не видит подфункций.

 

Когда приходит вызов функции из М-файла, то MATLAB, в первую очередь, проверяет, не является ли эта функция подфункцией. Поскольку первой проверяется наличие подфункций, то можно в качестве имени подфункции использовать имена функций системы MATLAB.

 




Поделиться с друзьями:


Дата добавления: 2015-04-24; Просмотров: 522; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.016 сек.