Пути доступа системы MATLAB
При поиске М-файлов или других файлов, хранящихся в вашей файловой структуре, MATLAB использует концепцию путей доступа (search path). Любой файл (функция), кото-рый вы хотите исполнить в системе MATLAB должен находится в директории, находящей-ся на путях доступа или в текущей директории. По умолчанию, все файлы поставляемые с MATLAB и соответствующими пакетами прикладных программ фирмы MathWorks вклю-чены в пути доступа. Если вы создаете какой-либо файл, предназначенный для использова-ния системой MATLAB, необходимо включить директорию, содержащую этот файл, в пути доступа системы MATLAB.
Внимание ! Если вы создаете свой собственный М-файл или модифицируете любой имею-щийся М-файл, поставленный с системой MATLAB, сохраняйте их в директории, которая не находится на пути $matlabroot/toolbox/matlab, где $matlabroot – корневая директория системы MATLAB на вашем компьютере. Если вы храните какие-либо свои файлы в дирек-тории $matlabroot/toolbox/matlab, они будут уничтожены при переустановке или установке новой версии MATLAB-а на вашем компьютере.
Суть концепции путей доступа. Все используемые вами файлы рассматриваются как нахо-дящиеся на путях доступа системы MATLAB. Когда вы включаете новую директорию в пути доступа, вы добавляете ее к имеющимся путям. Поддиректории (subdirectories) должны быть добавлены в пути доступа явным образом; они не включаются в пути доступа автоматически, при включении их родительских директорий. Пути доступа системы MATLAB хранятся в файле pathdef.m. Порядок расположения директорий на путях доступа имеет существенное значение. Система MATLAB ищет любой объект (переменную, функцию и т.д.), например, названный foo, следующим образом. Если вы вводите foo в командной строке, то система MATLAB выполняет следующие действия:
1. Ищет foo как переменную.
2. Проверяет, не является ли foo встроенной функцией.
3. Ищет в текущей директории файл названный foo.m.
4. Ищет по очереди во всех директориях на пути доступа MATLAB файл foo.m.
Хотя в действительности схема поиска является более сложной, эта упрощенная схема явля-ется достаточно точной для обычных М-файлов, с которыми имеет дело потребитель.
Порядок расположения директорий на путях доступа важен именно потому, что могут быть несколько файлов, имеющих одинаковое имя. Когда MATLAB ищет такую функцию, он вы-бирает только первую функцию, встретившуюся на путях доступа; остальные функции (фай-лы) оказываются в тени и не могут быть выполнены. Для того чтобы узнать какая функция выполняется, т.е. местоположение данной функции в файловой структуре, можно использо-вать команду which FileName, где FileName – имя выбранной функции.
Просмотр и изменение путей доступа. Для просмотра и изменения путей доступа системы MATLAB предусмотрено диалоговое окно Set Path, а также ряд эквивалентных команд (фу-нкций), которые можно выполнить из командной строки. Для открытия указанного окна ну-жно выбрать опцию Set Path из меню File рабочего стола, или ввести команду pathtool из командной строки MATLAB –а. Откроется следующее диалоговое окно
При нажатии на эти кнопки происходят изменения
в путях доступа текущего сеанса, но эти пути доступа
не сохраняются автоматически дл будущих сеансов
Кнопки для изменения
путей доступа Директории текущих путей доступа системы MATLAB
Нажатие кнопки приводит к сохранению изменений для будущих сеансов работыРис. 5. Диалоговой окно Set Path для модификации путей доступа
На рис. 5 имеем следующие кнопки:
Add with Subfolders… - Добавить директорию с поддиректориями.
Move to Top - Перенести директорию в начало пути.
Move Up - Перенести директорию на один шаг вверх.
Remove - Удалить директорию.
Move Down - Перенести директорию на один шаг вниз.
Move to Bottom - Перенести директорию в конец пути.
Default - Восстановить исходные пути доступа (по умолчанию).
Назначение данных кнопок ясно из их названий.
При операциях над файлами система MATLAB использует текущую директорию в качестве отправной точки. Любой файл, который вы хотите исполнить, должен находиться или в теку-щей директории (каталоге) или на пути доступа системы MATLAB. Аналогично, если вы хотите открыть какой-либо файл, начальной точкой диалогового окна Оpen всегда является текущая директория.
Поле текущей директории. Быстрый путь просмотра или изменения текущей директории состоит в использовании поля Current Directory (Текущая Директория) в инструментальной панели рабочего стола
Для изменения текущей директории из этого поля, нужно выполнить одно из следующих действий:
• Впечатать в данное поле путь к новой текущей директории.
• Щелкнуть на правой кнопке со стрелкой, что откроет список ранее использованных рабо-чих директорий, и выбрать из них желаемую.
• Щелкнуть на кнопку (...) (см. рис. 2) для выбора новой директории.
Окно Просмотра Текущего Каталога (Current Directory Browser) . Для поиска, просмот-ра, открывания и ввода изменений в директориях системы MATLAB можно воспользоваться Окном Просмотра Текущего Каталога (ОПТК). Все основные функции данного окна можно также выполнить задавая соответствующие команды из командной строки системы MATLAB. Если ОПТК не присутствует в рабочем столе MATLAB-а, то его можно открыть выбором опции Current Directory в меню View, или же введя команду filebrowser из коман-дного окна (Command Window). При этом появится следующее окно
Данное поле позволяет произвести быстрый
просмотр и изменение директорий
Щелкнув по кнопке «бинокль» можно исследовать содержимоелюбого М-файла (операция поиска по заданным символам)
Рис. 6. Окно просмотра текущего каталога
Двойной щелчок по любому выделенному файлу откроет его содержание в соответствующем окне Редактора/Отладчика. В нижней части ОПТК (см. рис. 6) показана часть справки (help) для выделенного файла.
Изменение текущей директории и просмотр ее содержания в ОПТК. Для изменения теку-щей директории из ОПТК можно воспользоваться полем Current Directory этого окна, со-вершенно аналогично тому, как это было описано выше.
Эквивалентные функции ! Команда dir выводит в командное окно все содержимое теку-щей директории или любой другой директории, заданной как аргумент функции dir. Кома-нда what действует аналогично, но выводит только те файлы, которые относятся к системе MATLAB. Команда which FileName, где FileName – имя файла, выводит путь доступа к данному файлу.
ОПТК позволяет также произвести любые добавление директорий к путям доступа системы MATLAB, а также создавать, копировать, переименовывать директории и т.д. (см. Руковод-ство Пользователя).
Поиск и замена содержимого файлов. Из ОПТК можно осуществить поиск любой заданной строки символов в содержании файла. Если же файл открыт в окне Редактора/Отладчика, то можно также и заменить заданную строку на другую.
Поиск заданной строки в пределах файла (файлов). Для поиска заданной строки следует:
1. Щелкнуть по кнопке
инструментальной панели ОПТК (рис. 6). Появится следующее диалоговое окно «Найти и Заменить» (Find & Replace):2. Для нахождения всех случаев наличия требуемой строки в файлах следует:
- Впечатать строку в поле Find what.
- Выбрать директорию поиска в поле Look in, или просто непосредственно напечатать имя директории в данном поле.
- Ограничить поиск выбором опций Match case (Учитывать регистр) и Whole word (Слово целиком).
- Выбрать опцию Subdirectories (Поддиректории), если вы хотите также просматривать и файлы в поддиректориях.
3. Щелкнуть по кнопке Find.
Результат поиска при этом будет отображен в нижней части далогового окна Find & Replace как это показано на следующем рисунке. Этот результат включает название файла, номер со- ответствующей строки и содержимое данной строки.
Двойной щелчок по файлу приведет к
его открытию
Кнопка закрытия окна
Результаты предыдущих операций поиска результатов поиска
доступны через эти ярлыки
4. Для открытия любого из М-файлов в списке результатов поиска нужно выполнить одно из нижеприведенных действий:
- Дважды щелкнуть по файлу.
- Выделить файл и нажать клавишу Enter.
- Щелкнуть правой кнопкой по файлу и выбрать опцию Open из контекстного меню.