exponenta event banner

который

Поиск функций и файлов

Описание

пример

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

  • Если item - функция MATLAB ® в кодовом файле MATLAB (.m,.mlx, или .p расширение) или сохраненную модель Simulink ® (.slx или .mdl extension), затем 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 или именем файла, включающим расширение файла.

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

/fun

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

private/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 находит методы только в том случае, если они определены в отдельных файлах в папке @ -folder и не находятся ни в одном пакете.

Совет

Представлен до R2006a