Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

Llamar a funciones locales utilizando identificadores de función

En este ejemplo se muestra cómo crear identificadores para funciones locales. Si una función devuelve identificadores a funciones locales, se puede llamar a las funciones locales fuera de la función principal. Este método permite tener varias funciones a las que se puede llamar en un solo archivo.

Cree la siguiente función en un archivo, ellipseVals.m, en su carpeta de trabajo. La función devuelve una estructura (struct) con identificadores a las funciones locales.


% Copyright 2015 The MathWorks, Inc.

function fh = ellipseVals
fh.focus = @computeFocus;
fh.eccentricity = @computeEccentricity;
fh.area = @computeArea;
end

function f = computeFocus(a,b)
f = sqrt(a^2-b^2);
end

function e = computeEccentricity(a,b)
f = computeFocus(a,b);
e = f/a;
end

function ae = computeArea(a,b)
ae = pi*a*b;
end

Invoque la función para obtener una struct de identificadores para las funciones locales.

h = ellipseVals
h = 

  struct with fields:

           focus: @computeFocus
    eccentricity: @computeEccentricity
            area: @computeArea

Llame a una función local utilizando su identificador para calcular el área de una elipse.

h.area(3,1)
ans =

    9.4248

De forma alternativa, puede utilizar la función localfunctions para crear un arreglo de celdas de identificadores de función a partir de todas las funciones locales automáticamente. Este método es práctico si espera agregar, eliminar o modificar nombres de las funciones locales.

Consulte también

Ejemplos relacionados

Más acerca de