which

Определение местоположения функций и файлов

Описание

пример

which item отображает полный путь для item.

  • Если item является MATLAB® функция в файле кода MATLAB (.m, .mlx, или .p расширение), или сохраненный Simulink® модель (.slx или .mdl расширение), затем which отображает полный путь к соответствующему файлу. item должен находиться в пути MATLAB.

  • Если item является методом на загруженном Java® класс, затем which отображает пакет, класс и имя метода для этого метода.

  • Если item является переменной рабочей области, тогда which отображает сообщение, идентифицирующее item как переменная.

  • Если item - несохраненная модель Simulink, которая загружается в Simulink, затем which отображает сообщение, идентифицирующее item как новая модель Simulink.

  • Если item - это имя файла, включая расширение, и оно находится в текущей рабочей папке или в пути MATLAB, затем which отображает полный путь к item.

Если item является перегруженной функцией или методом, тогда which item возвращает только путь первой найденной функции или метода.

пример

which fun1 in fun2 отображает путь к функции fun1 который вызывается по файлу fun2. Используйте этот синтаксис, чтобы определить, вызывается ли локальная функция вместо функции в пути. Этот синтаксис не обнаруживает вложенные функции.

пример

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

пример

str = which(item) возвращает полный путь для item на str.

пример

str = which(fun1,'in',fun2) возвращает путь к функции fun1 который вызывается по файлу fun2. Используйте этот синтаксис, чтобы определить, вызывается ли локальная функция вместо функции в пути. Этот синтаксис не обнаруживает вложенные функции.

пример

str = which(___,'-all') возвращает результаты which на str. Можно использовать этот синтаксис с любым из входных параметров в предыдущей группе синтаксиса.

Примеры

свернуть все

Найдите pinv функция.

which pinv
matlabroot\toolbox\matlab\matfun\pinv.m

pinv находится в matfun папка MATLAB.

Вы также можете использовать синтаксис функции, чтобы вернуть путь к str. При использовании формы функции which, заключайте все входные параметры в одинарные кавычки.

str = which('pinv');

Создайте образец класса Java ®. Это загружает класс в MATLAB ®.

myDate = java.util.Date;

Найдите setMonth способ.

which setMonth
setMonth is a Java method  % java.util.Date method

Найдите orthog функция в частной папке.

which private/orthog
matlabroot\toolbox\matlab\elmat\private\orthog.m  % Private to elmat

MATLAB отображает путь для orthog.m в /private подпапка toolbox/matlab/elmat.

Определите какие parseargs функция вызывается area.m.

which parseargs in area
% Local function of area
matlabroot\toolbox\matlab\specgraph\area.m (parseargs)  

Вы также можете использовать синтаксис функции, чтобы вернуть путь к str. При использовании формы функции which, заключайте все входные параметры в одинарные кавычки.

str = which('parseargs','in','area');

Предположим, что у вас есть matlab.io.MatFile объект, который соответствует примеру MAT-файла 'topography.mat':

matObj = matfile('topography.mat');

Отображение пути реализации who который вызывается при вызове с помощью входного параметра (matObj).

which who(matObj)
% matlab.io.MatFile method
matlabroot\toolbox\matlab\iofun\+matlab\+io\MatFile.m  

Сохраните результат в переменной str.

str = which('who(matObj)')
str =
matlabroot\toolbox\matlab\iofun\+matlab\+io\MatFile.m

Если вы не задаете входного параметра (matObj), затем which возвращает только путь первой найденной функции или метода.

which who
built-in (matlabroot\\toolbox\matlab\general\who)

Отображение путей ко всем элементам пути MATLAB с именем fopen.

which fopen -all
built-in (matlabroot\toolbox\matlab\iofun\fopen)
% serial method
matlabroot\toolbox\matlab\iofun\@serial\fopen.m

% icinterface method
matlabroot\toolbox\shared\instrument\@icinterface\fopen.m  
matlabroot\toolbox\instrument\instrument\@i2c\fopen.m      

Возвращает результаты which на str.

Найдите orthog функция в частной папке. Вы должны использовать форму функции which, заключая все аргументы в круглые скобки и одинарные кавычки.

str = which('private/orthog','-all');
whos str
  Name      Size            Bytes  Class    Attributes

  str       1x1               264  cell               

Входные параметры

свернуть все

Функция или файл для поиска, заданные как вектор символов или строковый скаляр. При использовании формы функции which, заключайте все item входы в одинарных или двойных кавычках. item может находиться в одной из следующих форм.

Форма item ВходПуть к отображению
fun

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

Чтобы отобразить путь к файлу, который не имеет расширения, введите file. (Требуется период, следующий за именем файла). Использовать exist проверить существование файлов в любом другом месте.

/ fun

Ограничьте поиск функциями с именем fun которые находятся в пути поиска файлов. Для примера, which /myfunction отображает полный путь к функции myfunction.m, но не встроенные функции или функции JAVA с таким же именем.

частный/ funОграничьте поиск частными функциями с именем fun. Для примера, which private/orthog или which('private/orthog') отображает путь для orthog.m в /private подпапка родительской папки.

fun(a1,...,an)

Отобразите путь к реализации функциональных fun который будет вызываться при вызове с входные параметры a1,...,an. Используйте этот синтаксис для запроса перегруженных функций. См. пример «Определение местоположения функции, вызванной с заданными входными параметрами».

Типы данных: char | string

Функция для определения местоположения, заданная как вектор символов или строковый скаляр. fun1 может быть именем функции, или может быть в форме fun(a1,...,an). Для получения дополнительной информации о форме fun(a1,...,an), см. «Поиск функции, вызванной с заданными входными параметрами».

При использовании формы функции which, заключайте все fun1 входы в одинарных или двойных кавычках, например which('myfun1','in','myfun2').

Типы данных: char | string

Вызывающий файл, заданный как вектор символов или строковый скаляр. fun2 может быть именем файла или может быть в форме fun(a1,...,an). Для получения дополнительной информации о форме fun(a1,...,an), см. «Поиск функции, вызванной с заданными входными параметрами».

При использовании формы функции which, заключайте все fun2 входы в одинарных или двойных кавычках, например which('myfun1','in','myfun2').

Типы данных: char | string

Выходные аргументы

свернуть все

Функция или расположение файла, возвращенные как вектор символов или массив ячеек векторов символов, если вы используете '-all'.

  • Если item - переменная рабочей области, затем str - вектор символов 'variable'.

  • Если str - массив ячеек из векторов символов, затем каждая строка str определяет результат which. Результаты упорядочиваются согласно Порядка приоритета функций. Если есть затененные результаты, не стоит полагаться на порядок затененных функций и методов в str. Чтобы определить, затенен ли результат, вызовите which без указания str. which указывает затененные результаты комментарием % Shadowed.

Ограничения

  • Когда класс не загружен, which находит методы только, если они определены в отдельных файлах в папке @ -и не находятся ни в каких пакетах.

Совет

Представлено до R2006a
Для просмотра документации необходимо авторизоваться на сайте