function_handle

Обработайте к функции

Описание

Указателем на функцию является MATLAB® тип данных, который представляет функцию. Типичное использование указателей на функцию должно передать функцию другой функции. Например, можно использовать указатели на функцию в качестве входных параметров к функциям, которые выполняют математические выражения в области значений значений. Другое типичное использование указателей на функцию включает:

  • Задавая функции обратного вызова (например, коллбэк, который отвечает на событие UI или взаимодействует с оборудованием сбора данных).

  • Построение указателей на функции, определяемые встраивает вместо сохраненного в программном файле (анонимные функции).

Создание

Создайте указатель на функцию с помощью @ оператор. Указатели на функцию могут представлять или названный или анонимные функции.

  • Названные указатели на функцию представляют функции в существующих программных файлах, включая функции, которые являются частью MATLAB и функций, что вы создаете использование function ключевое слово. Чтобы создать указатель на именованную функцию, предшествуйте имени функции с @.

    Например, создайте указатель на sin функция, и затем использует fminbnd найти значение x, который минимизирует sin (x) в диапазоне от 0 до 2 π :

    f = @sin;
    m = fminbnd(f,0,2*pi);
  • Указатели анонимной функции (часто вызывал анонимные функции) представляют одно встроенные исполняемые выражения, которые возвращают один выходной параметр. Чтобы задать анонимную функцию, заключите имена входного параметра в круглые скобки сразу после @ оператор, и затем задает исполняемое выражение.

    Например, создайте указатель на анонимную функцию, которая выполняет выражение x2y2:

    f = @(x,y) (x.^2 - y.^2);

    Анонимные функции могут принять несколько входных параметров, но возвратить только один выходной параметр.

Примеры

свернуть все

В файле в вашей текущей папке создайте функцию с именем cubicPoly это принимает, что вход оценивает кубический полином x3+x2+x+1.

function y = cubicPoly(x)
y = x.^3 + x.^2 + x + 1; 
end

Найти интеграл cubicPoly от 0 к 1, передайте указатель на cubicPoly функционируйте к integral.

q = integral(@cubicPoly,0,1)
q = 2.0833

Создайте указатель f к анонимной функции, которая оценивает кубический полином x3+x2+x+1 для данного значения x.

f = @(x) x.^3 + x.^2 + x + 1;

Найти интеграл анонимной функции от 0 к 1, передайте его указатель на integral.

q = integral(f,0,1)
q = 2.0833

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

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