который

Найдите функции и файлы

Синтаксис

which item
which fun1 in fun2
which ___ -all
str = which(item)
str = which(fun1,'in',fun2)
str = which(___,'-all')

Описание

пример

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

  • Если item является функцией MATLAB® в файле кода MATLAB (.m 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 с требуемым именем. Такие элементы включают методы инстанцированных классов. Можно использовать -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 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               272  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, не задавая вывод. which указывает на затененные результаты комментарием, % Shadowed.

Ограничения

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

Советы

  • Для получения дополнительной информации, о как осциллограф использования MATLAB и приоритет при вызывании функции, смотрите Порядок приоритета функций.

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

Была ли эта тема полезной?