Как использовать путь поиска MATLAB - PullRequest
8 голосов
/ 25 января 2010

У меня есть несколько вопросов относительно пути поиска MATLAB:

  1. Текущий каталог находится в пути поиска, но почему он не выводится в «пути»? Где я могу найти полный путь поиска?

  2. Каковы все возможные способы добавления путей поиска?

  3. Учитывая все возможные способы добавления путей поиска (например, pathdef.m, startup.m, переменная MATLABPATH env и т. Д.), Каков порядок добавления путей поиска? Я думаю, что это важно, потому что, когда файлы с одинаковым именем существуют в разных путях поиска, будет выбран тот, что вверху.

Ответы [ 2 ]

10 голосов
/ 25 января 2010

Ссылки, предоставленные Amro , должны быть весьма полезны при ответах на ваши вопросы. Чтобы обратиться к ним более конкретно:

  1. В выводе PATH будет показано содержимое файла pathdef.m, которое должно включать все следующее:

    • Папки, поставляемые с MATLAB и другими продуктами MathWorks (т.е. наборы инструментов). Эти папки расположены в корневой папке MATLAB, которую вы можете найти с помощью функции MATLABROOT .

    • Пользовательская папка MATLAB (т.е. My Documents\MATLAB на платформах Windows), которую можно найти с помощью функции USERPATH .

    • Любые другие папки, добавленные пользователем в файл пути.

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

  2. Путь поиска можно изменить, изменив либо файл пути, либо текущий каталог. Вы можете изменить путь к файлу следующими способами:

    И текущий каталог можно изменить следующими способами:

    • Использование функции CD .

    • Использование браузера текущей папки .

  3. Когда вы изменяете файл пути, используя вышеуказанные методы, новые папки обычно добавляются в начало списка путей. Вы можете изменить порядок путей в файле пути, используя диалоговое окно Установить путь .

    Когда есть функции, которые имеют одно и то же имя , MATLAB следует следующему порядку приоритета функции , чтобы определить, какую функцию использовать:

    • Переменная (если переменная имеет то же имя, что и функция)

    • Вложенная функция

    • Подфункции

    • Частная функция

    • Конструктор класса

    • Перегруженный метод

    • Функция в текущем каталоге

    • Функция в другом месте на пути поиска

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

5 голосов
/ 25 января 2010

Лучший ответ - указать соответствующую документацию MATLAB:

...