дипломы,диссертации,курсовые,контрольные,рефераты,отчеты  на заказ
Деструктор Точечные изображения как объекты Геометрическая оптика Фотоэлектрический эффект Ядерные реакции Волновые свойства Квантовая механика Электромагнитное поле Задачник по ядерной физике Квантовая физика Электростатика Математика MATLAB Компьютерная математика Maple Лекции по математике учебник Outlook На главную Числовые ряды

Основы программирования MATLAB

[an error occurred while processing this directive]

 

Статус переменных в функциях

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

Эта особенность переменных-параметров хорошо видна при разборе примера, показанного на рис. 20.3. Здесь (признаемся, что неточно) задана некоторая функция двух переменных fun(x, у).

В этом примере в окне редактора создана функция fun двух переменных х и у, вычисляющая z = х 2 2 . Поскольку переменные х и у указаны как параметры функции fun(x, у), то они являются локальными. В примере вне тела функции им заданы нулевые значения. Очевидно, что при вычислении значения fun(2, 3) в теле функции задается х=2 и у=3. Поэтому результат — z=13. Однако после выхода из тела функции переменные х и у принимают свои исходные значения, равные нулю. Так что эти переменные меняют свои значения на значения параметров функции только локально — в пределах тела функции.
А каков статус переменной z в нашем примере? Она, как и любая переменная, определенная в теле функции, также будет локальной. Изначально ее значение
не определено. В теле функции переменная принимает значение z=13. А после возврата из функции, как нетрудно увидеть из рис. 18.2, переменная z, несмотря на ее применение в теле функции, остается неопределенной. На это указывает сообщение, отображаемое после попытки вывода значения переменной z.

Рис. 20.3. Пример, поясняющий действие локальных и глобальных переменных при задании файла-функции

Возврат из функции производится после обработки всего тела функции, т. е. при достижении конца файла функции. При использовании в теле функции условных операторов, циклов или переключателей иногда возникает необходимость осуществить возврат функции раньше, чем будет достигнут конец файла. Для этого служит команда return. В любом случае, результатом, возвращаемым функцией, являются значения выходных параметров (в нашем случае выходным параметром является переменная z), присвоенные им на момент возврата.

У нашей функции имеется один недостаток — вывод на индикацию значения z=13 из тела функции, хотя после этого г остается равным 0. Чтобы убрать побочный эффект вывода значения z, достаточно установить знак ; после математического выражения, определяющего z. Таким образом, окончательно наша функция должна записываться следующим образом:

function z=fun(x,y) 

z=x^2+y^2;

Этот пример наглядно показывает, что пропуск любого слова или даже простого оператора (вроде знака :) может привести к не сразу понятным побочным эффектам и даже неверной работе функции. Программирование требует особой точности и педантичности, именно поэтому далеко не все могут быть хорошими программистами.

 

Объектно-ориентированный подход CorelDRAW Установка параметров цвета в цифровом виде Искусство Западная Европа Трехмерное объектно-ориентированное программное обеспечение CAD Эффект Комптона Волновые свойства электронов Геометрическая оптика Фотоэлектрический эффект Строение атомных ядер Волновые свойства микрочастиц Математические пакеты Моделирование и расчет электронных схем Конструкционные материалы Релятивистская механика Справочник по физикеПрикладная математика Архитектурное проектирование ArchiCAD Строительное и ландшафтного проектирования Planix Home 3D Architect Функции преобразования ;