
2.7.1. После вызова м-файла matlab выполняет следующие действия:
1. Проверяет, является ли введенная команда именем какой-либо из переменных, определенных в рабочей среде. Если введена переменная, то выводится ее значение.
2. Если введена не переменная, то MATLAB ищет введенную команду среди встроенных функций. Если команда оказывается встроенной функцией, то происходит ее выполнение. .
3. Если введена не переменная и не встроенная функция, то MATLAB начинает поиск М-файла с названием команды и с расширением .m. Поиск начинается с текущего каталога (Current Directory); если М-файл в нем не найден, то MATLAB просматривает каталоги, установленные в пути поиска (Path). Найденный М-файл выполняется в MATLAB.
Если ни одно из вышеперечисленных действий не привело к успеху, то в командное окно выводится сообщение об ошибке; например:
» mydem
??? Undefined function or variable 'mydem'.
Последовательность поиска MATLAB говорит о том, что очень важно правильно задавать имя собственной файл-программы при сохранении ее в М-файле. Во-первых, ее имя не должно совпадать с именем существующих функций в MATLAB. Узнать, занято имя или нет можно при помощи функции exist (особенности использования этой функции см. по команде help exist). Во-вторых, имя файла не должно начинаться с цифры, знаков "+" или "-".
Определение путей поиска файлов производится в диалоговом окне Set Path навигатора путей, доступ к которому осуществляется из раздела меню File - строка Set Path. Окно Set Path имеет вид:
Для добавления каталога используется кнопку Add Folder… и в появившемся диалоговом окне Browse for Folder указывается требуемый каталог. Добавление каталога со всеми его подкаталогами осуществляется при нажатии на кнопку Add with Subfolders. Путь к добавленному каталогу появляется в списке MATLAB Search Path. Порядок поиска соответствует расположению путей в нем — первым просматривается каталог, путь к которому размещен вверху списка. Порядок поиска можно изменить, или вообще удалить путь к какому-либо каталогу. Для этого требуемый каталог выделяется в списке и его положение определяется при помощи следующих кнопок:
- Move to Top — поместить вверх списка;
- Move Up — переместить вверх на одну позицию;
- Remove — удалить из списка;
- Move Down — переместить вниз на одну позицию;
- Move to Bottom — поместить вниз списка.
2.7.2.Подфункции.
М-файл может содержать более 1 функции. Тогда первая функция будет primary функцией; ее имя должно совпадать с именем файла и она будет вызываться при обращении к файлу. Остальные функции являются подфункциями и будут видимы только из primary функции и из других подфункций этой функции. Каждая функция начинается со своего собственного заголовка. Подфункции могут располагаться в любом порядке после primary функции. Подфункции заканчиваются перед заголовком следующей подфункции или в конце файла. Доступ к переменным подфункций осуществляется через их входные параметры или с использованием описания соответствующих переменных ключевым словом global. Help имеет доступ только к primary функции.