Вопрос

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

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

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

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

Это было полезно?

Решение

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

  1. Результат из ПУТЬ покажет содержимое pathdef.m файл, который должен включать в себя все следующее:

    • Папки, поставляемые с MATLAB и другими продуктами MathWorks (т.е.ящики для инструментов).Эти папки расположены в корневой папке MATLAB, которую вы можете найти с помощью МАТЛАБРУТ функция.

    • Пользовательская папка MATLAB (т. е. My Documents\MATLAB на платформах Windows), которые можно найти с помощью ПУТЬ ПОЛЬЗОВАТЕЛЯ функция.

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

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

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

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

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

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

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

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

    • Подфункция

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

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

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

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

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

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

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top