3.3 Типы М-файлов
М-файлы в MatLab бывают двух типов: файл-программы, содержащие последовательность команд,
и файл-функции, в которых описываются функции, определяемые пользователем. Если имеется проект,
реализованный в нескольких М-файлах, необходимо сохранить все файлы в одной папке и при запуске
– установить пути к этой папке.
Файл-программы не имеют входных и выходных переменных. Все переменные, объявленные в
файл-программе, становятся доступны в рабочей среде сразу после ее выполнения. Выполнение команд,
содержащихся в файл-программе, осуществляется из командной строки или другой файл-программы,
при этом в качестве команды используется имя М-файла.
П р и м е р: преобразование матрицы. Последовательность команд оформляется в виде файл-
программы и сохраняется под именем preobr.m:
A = ones(400);
row = (1:400);
M = row’*row;
A = A./M;
Запуск файл-программ осуществляется вызовом ее имени в командной строке:
>> preobr
Файл-функции используются для применения численных методов, а также для написания собст-
венных приложений MatLab. Они производят необходимые действия с входными аргументами и воз-
вращают результат в выходных аргументах.
Слово function в первой строке определяет, что данный файл содержит файл-функцию. Первая
строка является заголовком функции, в которой размещаются имя функции и списки входных и выход-
ных аргументов. После заголовка идет тело функции, где вычисляется ее значение. Важно, что вычис-
ленное значение присваивается выходной переменной. Для сохранения файла используется пункт Save
as или Save меню File. В появившемся диалоговом окне поле File name уже содержит заданное назва-
ние функции, которое не нужно менять. Таким образом, созданную функцию можно использовать так
же, как и встроенные функции.
Файл-функция с несколькими входными аргументами. Все входные аргументы размещаются в
круглых скобках, в списке входных переменных через запятую.
П р и м е р: Функция расчета выражения
yxyxf
sinsin),( является примером функции с несколь-
кими входными переменными.
function f = prim1(x, y)
f = sin(pi*x).*sin(pi*y);
Сохраняем данную функцию под именем prim1. Для получения результата необходимо вызвать эту
функцию, например из командной строки или в другом файле. Вызовем сохраненную функцию с вход-
ными аргументами x = 0.5, y = 1.0. Результат, рассчитанный в функции, присвоим переменной Rez.
>> Rez = prim1(0.5, 1.0)
Rez =
1.2246e-016
Написание файл-функции с одним входным аргументом не отличается от случая с несколькими
аргументами: в круглых скобках указывается входная переменная.
Если входные переменные являются массивами, то необходимо применять поэлементные опера-
ции с массивами!