functions

Информация об указателе на функцию

Синтаксис

Описание

пример

s = functions(fh) возвращает информацию об указателе на функцию. Эта информация включает имя функции, введите, и имя файла.

Используйте functions функция для того, чтобы запросить и отладить цели только.

Примечание

Не использовать functions программно, потому что его поведение могло измениться в последующем MATLAB® релизы.

Примеры

свернуть все

Создайте указатель на функцию и отобразите его информацию.

fh = @cos;
s = functions(fh)
s = struct with fields:
    function: 'cos'
        type: 'simple'
        file: ''

Создайте указатель на функцию к анонимной функции. Отобразите его информацию и значения необходимых переменных.

Создайте указатель на функциональный x2 + y, и вызывает функцию с помощью указателя.

y = 7;
fh = @(x)x.^2+y;
z = fh(2)
z =

    11

Отобразите информацию об указателе на функцию.

s = functions(fh)
s = 

            function: '@(x)x.^2+y'
                type: 'anonymous'
                file: ''
           workspace: {[1x1 struct]}
    within_file_path: '__base_function'

Указатель на функцию содержит необходимое значение y.

s.workspace{1}
ans = 

    y: 7

Создайте функцию, которая возвращает указатели на локальные и вложенные функции. Отобразите их информацию.

Создайте следующую функцию в файле, functionsExample.m, в вашей рабочей папке. Функция возвращает указатели на вложенную и локальную функцию.

function [hNest,hLocal] = functionsExample(v)

hNest = @nestFunction;
hLocal = @localFunction;

    function y = nestFunction(x)
        y = x + v;
    end

end

function y = localFunction(z)
y = z + 1;
end

Вызовите функцию.

[hNest,hLocal] = functionsExample(13)
hNest = 

    @functionsExample/nestFunction


hLocal = 

    @localFunction

Отобразите информацию об указателе на вложенную функцию.

s1 = functions(hNest)
s1 = 

     function: 'functionsExample/nestFunction'
         type: 'nested'
         file: 'C:\work\functionsExample.m'
    workspace: {[1x1 struct]}

Отобразите информацию об указателе на локальную функцию.

s2 = functions(hLocal)
s2 = 

     function: 'localFunction'
         type: 'scopedfunction'
         file: 'C:\work\functionsExample.m'
    parentage: {'localFunction'  'functionsExample'}

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

свернуть все

Обработайте, чтобы запросить в виде указателя на функцию.

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

свернуть все

Информация об указателе на функцию, возвращенном как структура. Структура содержит следующие поля.

Имя поля

Полевое описание

function

FunctionName . Если функция, сопоставленная с указателем, является вложенной функцией, имя функции принимает форму main_function/nested_function.

type

Функциональный тип. Например, 'simple', 'nested', 'scopedfunction', или 'anonymous'.

file

Полный путь к функции с расширением файла.

  • Если функция является локальной или вложенной функцией, то file полный путь к основной функции.

  • Если функцией является встроенная функция MATLAB, то file пустой символьный массив ('').

  • Если функция является анонимной функцией и заданный в командной строке или в файле не на пути MATLAB, то file пустой символьный массив ('').

  • Если функция является анонимной функцией и заданный в файле на пути MATLAB, то file полный путь к файлу.

  • Если вы загружаете сохраненный указатель на функцию, то file пустой символьный массив ('').

Структура имеет дополнительные поля в зависимости от типа функции, сопоставленной с указателем. Например, локальная функция имеет parentage поле и анонимная функция имеют workspace поле . Используйте информацию в s для того, чтобы запросить и отладить цели только.

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

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