Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

Funciones locales

En este tema se explica el término y se muestra cómo crear y usar funciones locales.función local

archivos de programa pueden contener código para más de una función.MATLAB® En un archivo de función, la primera función del archivo se denomina función principal. Esta función es visible para las funciones de otros archivos, o puede llamarlo desde la línea de comandos. Funciones adicionales dentro del archivo se denominan funciones locales, y pueden ocurrir en cualquier orden después de la función principal. Las funciones locales solo son visibles para otras funciones del mismo archivo. Son equivalentes a las subrutinas en otros lenguajes de programación, y a veces se denominan subfunciones.

A partir de R2016b, también puede crear funciones locales en un archivo de script, siempre y cuando aparezcan después de la última línea de código de script. Para obtener más información, consulte.Agregar funciones a scripts

Por ejemplo, cree un archivo de función denominado que contenga una función principal, y dos funciones locales, y.mystats.mmystatsmymeanmymedian

function [avg, med] = mystats(x) n = length(x); avg = mymean(x,n); med = mymedian(x,n); end  function a = mymean(v,n) % MYMEAN Example of a local function.  a = sum(v)/n; end  function m = mymedian(v,n) % MYMEDIAN Another example of a local function.  w = sort(v); if rem(n,2) == 1     m = w((n + 1)/2); else     m = (w(n/2) + w(n/2 + 1))/2; end end

Las funciones locales y calcular el promedio y la mediana de la lista de entrada.mymeanmymedian La función Main determina la longitud de la lista y la pasa a las funciones locales.mystatsn

Aunque no se puede llamar a una función local desde la línea de comandos o desde funciones en otros archivos, puede acceder a su ayuda mediante la función.help Especifique los nombres tanto del archivo como de la función local, separándolos con un carácter:>

help mystats>mymean
  mymean Example of a local function.

Las funciones locales del archivo actual tienen precedencia sobre las funciones de otros archivos. Es decir, cuando se llama a una función dentro de un archivo de programa, comprueba si la función es una función local antes de buscar otras funciones principales.MATLAB Por lo tanto, puede crear una versión alternativa de una función determinada conservando el original en otro archivo.

Todas las funciones, incluidas las funciones locales, tienen sus propios espacios de trabajo que son independientes del espacio de trabajo base. Las funciones locales no pueden acceder a las variables utilizadas por otras funciones a menos que se pasen como argumentos. Por el contrario, las funciones (funciones completamente contenidas dentro de otra función) pueden acceder a las variables utilizadas por las funciones que las contienen.nested

Consulte también

Temas relacionados