Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Описание и работа с m-функциями




M- функции, так же как и script, содержат команды, операторы и функции, но являются более сложным типом m -файлов по сравнению со script и имеют свои особенности:

· начинаются с заголовка описания m -функции;

· могут иметь входные и выходные параметры;

· все переменные, описанные в теле m -функции, являются локальными, т.е. действуют только в пределах тела функции;

· являются самостоятельными программными единицам, которые общаются с другими модулями посредством имени с входными и выходными параметрами.

 

В отличие от script m- функция является типичным объектом языка программирования высокого уровня.

При создании новой m- функции открывается окно редактора
со следующим шаблоном (рис. 1.3.3-1).

Рис. 1.3.3-1. Структура новой m-функции

 

Общая структура m- функции с n входными и m выходными параметрами имеет вид:

 

function[ var1, …, var m,… ] = f_name (список входных параметров)

% Основной комментарий

% Дополнительный комментарий

Тело m-функции

var1 = выражение

var m = выражение

End

Начинаются m- функции с заголовка function, затем в квадратных скобках через запятую указываются имена выходных параметров, далее f_name имя функции, а затем в круглых скобках - список входных параметров функции. Имена функций должны быть уникальными.

M- функция возвращает свое значение (или значения) и может быть вызвана из выражений, расположенных в рабочей области или в других программных модулях:

f_name ( список_параметров ).

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

vаri = выражение,

приведенная в общей структуре m -функции, используется, если требуется, чтобы функция возвращала результаты вычислений.

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

[ var1,var2,... ]= f_nаmе(Список_параметров)

Создадим простейшую m -функцию с двумя входными и одним выходным аргументами. При активизации Редактора появился шаблон, который заполним следующей информацией (рис. 1.3.3-2).

 

 

Рис. 1.3.3-2. Описание m -функции с одним выходным параметром

 

Сохраним функцию в файле, используя инструмент Save. При этом отметим, что MatLab предлагает в качестве имени m -файла название самой функции, т.е. tt.m. Всегда сохраняйте файл-функцию в m -файле, имя которого совпадает с именем m-функции! Теперь, убедившись, что каталог с файлом tt.m. является текущим, обратимся к функции tt(2, 3) из командной строки (рис. 1.3.3-3).

 

 

Рис. 1.3.3-3. Обращение к m -функции tt(a,b)

 

При вызове m -функции tt(a, b) входные аргументы a и b получили соответственно значения 2 и 3, сумма a и b записана в выходной параметр c, значение выходного аргумента c присвоено переменной y, а результат вывелся в следующую строку командного окна.

Следующий пример показывает создание m- функции с несколькими выходными параметрами. Список выходных параметров в заголовке m -функции заключен в квадратные скобки, а сами параметры отделены запятыми. В качестве примера создадим и выполним m -функцию quadeq(a, b, c), которая по заданным коэффициентам квадратного уравнения находит его корни (рис. 1.3.3-4, 1.3.3-5).

 

 

Рис. 1.3.3-4. Описание функции quadeq(a, b, c)
с двумя выходными параметрами

 

 

Рис. 1.3.3-5. Выполнение функции quadeq(a, b, c)
с двумя выходными параметрами

 

Иногда и при создании m -функций желательно применение глобальных переменных (например, если параметров слишком много). В таких случаях используемые глобальные переменные надо объявить командой:

global varl, var2,...

Для того чтобы несколько функций могли совместно использовать глобальные переменные, они должны быть объявлены как global в каждом из модулей.

 

 





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


Дата добавления: 2016-10-30; Мы поможем в написании ваших работ!; просмотров: 933 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Либо вы управляете вашим днем, либо день управляет вами. © Джим Рон
==> читать все изречения...

2258 - | 1997 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.