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.