Содержание статьи

MATLAB использует список путей для поиска функций, классов и пакетов. Если библиотека не добавлена в этот список, вызов её файлов приведёт к ошибке Undefined function or variable. Подключение выполняется через системный механизм путей, который хранится отдельно от самих скриптов и влияет на то, какие файлы MATLAB видит при выполнении кода.
Библиотеки чаще всего поставляются в виде папок с файлами .m, .mlx, .p или скомпилированными модулями. Для корректной работы требуется добавить в пути либо конкретную папку, либо всю структуру каталогов, если функции распределены по подпапкам. В MATLAB для этого применяются графический интерфейс Set Path и команды addpath и genpath, каждая из которых подходит под разные сценарии.
Отдельного внимания требует сохранение путей между запусками MATLAB. Без фиксации изменений библиотека будет доступна только до закрытия сессии. Для постоянного подключения используется сохранение пути в файл pathdef.m или размещение команд в пользовательском скрипте startup.m, который выполняется автоматически при запуске среды.
Корректность подключения проверяется через команды which и exist, позволяющие точно определить, откуда загружается функция и видит ли MATLAB нужные файлы. Такой подход позволяет избежать конфликтов имён, дублирующихся функций и скрытых ошибок, связанных с неправильным порядком путей.
Проверка установленной версии MATLAB и прав доступа
Часть библиотек требует наличия конкретных тулбоксов. Их доступность проверяется через ver или команду license(‘test’,’Имя_Toolbox’), которая показывает, активна ли лицензия. Если нужного тулбокса нет, подключение библиотеки не даст результата, так как вызовы зависимых функций завершатся ошибками.
Права доступа определяют, можно ли сохранить путь библиотеки для всех пользователей или только для текущего профиля. При установке MATLAB в системный каталог запись в файл pathdef.m может быть заблокирована. В таком случае попытка сохранить пути через Set Path завершится предупреждением, а изменения пропадут после перезапуска.
Проверка прав выполняется практическим способом: добавляется тестовая папка в пути и вызывается сохранение. Если MATLAB сообщает об отказе в доступе, подключение библиотеки следует выполнять через пользовательский файл startup.m, расположенный в домашнем каталоге, либо запускать среду с повышенными правами, если политика системы это допускает.
Добавление папки библиотеки через Set Path
Графический инструмент Set Path предназначен для управления списком каталогов, из которых MATLAB загружает функции и классы. Открыть его можно через меню Home → Environment → Set Path или командой pathtool в командном окне. Оба способа приводят к одному окну настройки путей.
Для подключения библиотеки используется кнопка Add Folder либо Add with Subfolders. Первый вариант добавляет только выбранный каталог, второй автоматически включает все вложенные папки, что требуется для библиотек с модульной структурой. При работе с крупными пакетами предпочтительнее второй вариант, чтобы избежать ручного добавления каждого уровня.
После выбора каталога он появляется в общем списке путей. Порядок имеет значение: если в системе уже есть функции с теми же именами, MATLAB использует файл, находящийся выше в списке. При конфликте имён библиотеку целесообразно переместить ниже стандартных путей, используя кнопки перемещения в окне Set Path.
Для фиксации изменений необходимо нажать Save. При отсутствии прав на запись MATLAB выдаст предупреждение и предложит сохранить путь в пользовательской области. Без сохранения библиотека будет доступна только до закрытия текущей сессии, что легко проверить повторным запуском среды.
Подключение библиотеки с помощью команды addpath

Команда addpath добавляет каталог с библиотекой в текущий список путей MATLAB без обращения к графическим инструментам. Для этого указывается путь к папке с файлами .m или классами, например addpath(‘E:\matlab\libs\signal’). После выполнения функции из этого каталога доступны сразу, без обновления среды.
При наличии сложной структуры каталогов используется связка addpath и genpath. Функция genpath формирует строку со всеми вложенными папками, что позволяет подключить библиотеку одной командой: addpath(genpath(‘E:\matlab\toolboxes\custom’)). Такой способ снижает вероятность ошибок, связанных с отсутствием зависимых файлов.
Результат подключения проверяется через which, указав имя функции из библиотеки. Команда покажет точный путь к файлу, который MATLAB собирается использовать. Если отображается другой каталог, это указывает на конфликт имён, и порядок путей требуется скорректировать.
Добавленные через addpath каталоги действуют только в рамках текущего запуска MATLAB. Для регулярного использования библиотеки команду размещают в файле startup.m пользователя, что позволяет автоматически подключать нужные пути без изменения системного файла pathdef.m.
Сохранение пути библиотеки между сессиями MATLAB

По умолчанию пути, добавленные через addpath, действуют только до закрытия MATLAB. После перезапуска среда использует сохранённую конфигурацию, поэтому библиотека становится недоступной, если путь не был зафиксирован. Для постоянного подключения применяются два практических способа, зависящих от прав доступа и сценария использования.
Первый вариант – сохранение текущего списка путей в системный файл pathdef.m. Он используется MATLAB при каждом запуске и содержит полный набор активных каталогов.
- Добавьте библиотеку любым удобным способом
- Выполните команду savepath в командном окне
- Убедитесь, что MATLAB не сообщает об ошибке записи
Если среда установлена в защищённый каталог, запись в pathdef.m часто блокируется. В этом случае применяется пользовательский файл startup.m, который выполняется автоматически при запуске MATLAB.
- Создайте файл startup.m в пользовательской папке MATLAB
- Добавьте в него команду addpath или связку с genpath
- Сохраните файл и перезапустите среду
Для проверки результата после перезапуска используется команда path или which имя_функции. Если библиотека определяется без повторного добавления, путь сохранён корректно и будет применяться при последующих запусках.
Подключение библиотеки для одного проекта

Чтобы использовать библиотеку только в рамках конкретного проекта, рекомендуется ограничить её путь областью этого проекта. Это предотвращает влияние библиотеки на другие проекты и сохраняет чистоту среды MATLAB.
Основные подходы:
- Добавление пути вручную – использовать команду addpath в скрипте или функции, запускаемой внутри проекта. Например,
addpath('путь_к_библиотеке')подключит библиотеку на время работы с этим проектом. - Использование файла startup.mstartup.m в корне проекта с командами для подключения необходимых библиотек. Этот файл автоматически выполняется при запуске MATLAB в этой рабочей директории.
- Скрипт инициализации проекта – написать скрипт, который подключает нужные библиотеки и запускает проект, а затем очищает пути при выходе.
После завершения работы с проектом рекомендуется удалить путь библиотеки командой rmpath(‘путь_к_библиотеке’), чтобы исключить возможные конфликты.
Проверка доступности функций библиотеки

После подключения библиотеки важно убедиться, что её функции доступны для вызова и корректно работают. Для этого применяют несколько методов проверки.
Основные способы проверки:
| Метод | Описание | Пример |
|---|---|---|
Команда which |
Показывает путь к файлу функции, если она доступна в текущем пути MATLAB. | which имя_функции |
| Вызов функции | Проверяет, что функция выполняется без ошибок и возвращает ожидаемый результат. | результат = имя_функции(аргументы); |
| Просмотр списка функций | Использование dir в папке библиотеки для проверки наличия нужных файлов. |
dir('путь_к_библиотеке\*.m') |
Использование exist |
Проверяет, существует ли функция и доступна ли она для вызова. | exist('имя_функции','file') |
Если команда which не возвращает путь, значит функция не найдена. В этом случае следует проверить правильность добавления пути к библиотеке или перезапустить MATLAB.
Удаление библиотеки из путей MATLAB

Для удаления библиотеки из путей MATLAB используется команда rmpath. Она удаляет указанный путь из списка путей, что предотвращает дальнейший доступ к функциям библиотеки.
Синтаксис команды:
rmpath('путь_к_библиотеке')
Если библиотека была добавлена через графический интерфейс «Set Path», её также можно удалить там, выбрав соответствующую папку и нажав «Remove».
После удаления пути рекомендуется сохранить изменения с помощью команды:
savepath
Без сохранения изменений путь будет удалён только на текущую сессию MATLAB. При следующем запуске пути восстановятся.
Для проверки удаления используйте команду which или path для просмотра текущего списка путей.
Типичные ошибки при добавлении библиотек и их исправление
Неправильный путь к библиотеке – частая причина ошибок. Проверьте корректность указанного пути: отсутствие опечаток, правильные слеши для вашей ОС. Используйте команду exist('путь_к_папке','dir') для проверки существования директории.
Путь не сохранён между сессиями – если библиотека работает только в текущей сессии, используйте savepath после addpath для постоянного сохранения.
Конфликты имён функций – если функции библиотеки перекрывают встроенные или другие сторонние функции, MATLAB может использовать не ту версию. Для решения измените порядок путей через pathtool или переименуйте функции.
Отсутствие прав доступа – в некоторых системах может потребоваться запуск MATLAB с повышенными правами для изменения путей или работы с определёнными папками.
Кэширование функций – после обновления библиотеки MATLAB может использовать старую версию функции. Выполните clear functions и rehash для обновления кэша.
Вопрос-ответ:
Как проверить, что библиотека успешно добавлена в MATLAB?
Для проверки добавления библиотеки используйте команду which имя_функции. Если MATLAB возвращает путь к файлу функции, значит библиотека доступна. Также можно вызвать функцию из библиотеки и проверить её работу. При отсутствии результата проверьте правильность добавления пути и наличие файлов библиотеки.
Можно ли добавить библиотеку только для одного проекта, не влияя на остальные?
Да, для этого подключение библиотеки выполняют внутри скриптов или функций конкретного проекта через команду addpath. После завершения работы с проектом путь можно удалить с помощью rmpath. Такой подход сохраняет изоляцию библиотек между проектами.
Что делать, если MATLAB не видит функции библиотеки после добавления пути?
Причины могут быть в неправильном пути, отсутствии прав доступа или конфликте имён. Проверьте корректность пути, убедитесь, что у пользователя есть доступ к папке. Выполните команды rehash и clear functions для обновления списка функций. Если проблема сохраняется, проверьте, нет ли других функций с таким же именем выше в списке путей.
Как сохранить добавленную библиотеку, чтобы не подключать её заново при каждом запуске MATLAB?
После добавления пути с помощью addpath выполните команду savepath. Это сохранит изменения в файле настроек путей MATLAB, и библиотека будет автоматически подключаться при следующем запуске программы.
