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 функционирует с тем же именем.

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 только находит методы, если они заданы в отдельных файлах в - папка и не находятся ни в каких пакетах.

Советы

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

Расширенные возможности

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