Main Content

function_handle

Identificador de función

Descripción

Un identificador de función es un tipo de dato de MATLAB® que representa una función. Comúnmente, los identificadores de función se utilizan para pasar una función a otra. Por ejemplo, se pueden utilizar identificadores de función como argumentos de entrada para las funciones que evalúan expresiones matemáticas en un rango de valores. Otros usos habituales de los indicadores de funciones son:

  • Especificar funciones de callback (por ejemplo, un callback que responde a un evento de la IU o interactúa con el hardware de adquisición de datos).

  • Construir identificadores para las funciones definidas en línea en lugar de para las almacenadas en un archivo de programa (funciones anónimas).

Creación

Cree un identificador de función utilizando el operador @. Los identificadores de función pueden representar funciones designadas o anónimas.

  • Los identificadores de funciones designadas representan funciones en archivos de programa existentes, incluidas funciones que son parte de MATLAB y funciones que crea usted utilizando la palabra clave function. Para crear un identificador para una función designada, preceda el nombre de la función con @.

    Por ejemplo, cree un identificador de la función sin y, después, utilice fminbnd para encontrar el valor de x que minimiza sin(x) en el rango de 0 a 2 π :

    f = @sin;
    m = fminbnd(f,0,2*pi);
  • Los identificadores de funciones anónimas (con frecuencia denominados funciones anónimas) representan expresiones ejecutables en línea únicas que devuelven una salida. Para definir una función anónima, encierre los nombres de los argumentos de entrada entre paréntesis inmediatamente después del operador @ y, después, especifique la expresión ejecutable.

    Por ejemplo, cree un identificador para una función anónima que evalúe la expresión x2y2:

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

    Las funciones anónimas pueden aceptar varias entradas, pero devuelven solo una salida.

Ejemplos

contraer todo

En un archivo de la carpeta actual, cree una función llamada cubicPoly que acepte una entrada para evaluar el polinomio cúbico x3+x2+x+1.

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

Para encontrar la integral de cubicPoly de 0 a 1, pase un identificador de la función cubicPoly a integral.

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

Cree el identificador f de una función anónima que evalúe el polinomio cúbico x3+x2+x+1 para un valor dado de x.

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

Para encontrar la integral de la función anónima de 0 a 1, pase su identificador a integral.

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

Capacidades ampliadas

Historial de versiones

Introducido antes de R2006a