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.

Agregar funciones a scripts

scripts, incluidos los scripts en directo, pueden contener código para definir funciones.MATLAB® Estas funciones se denominan funciones locales. Las funciones locales son útiles si desea reutilizar el código dentro de un script. Al agregar funciones locales, puede evitar crear y administrar archivos de función independientes. También son útiles para experimentar con funciones, que se pueden agregar, modificar y eliminar fácilmente según sea necesario. Las funciones de los scripts se admiten en R2016b o posterior.

Agregar funciones locales

Las funciones locales solo están visibles en el archivo donde están definidas, tanto en el código de script como en otras funciones locales del archivo. No son visibles para las funciones de otros archivos y no se pueden llamar desde la línea de comandos. Son equivalentes a las subrutinas en otros lenguajes de programación, y a veces se denominan subfunciones.

Para agregar funciones locales a un script, en primer lugar, cree el script. Vaya a la pestaña y seleccioneHome New > Script. Para obtener más información sobre la creación de scripts, consulte.Crear scripts También puedes.Crear Live scripts en el editor en vivo

Después de crear el script, agregue código al script y guárdelo. Por ejemplo, agregue este código y guárdelo como un script llamado.mystats.m Este código declara una matriz, determina la longitud de la matriz y pasa ambos valores a las funciones locales y.mymeanmymedian Las funciones locales y calcular el promedio y la mediana de la lista de entrada y devolver los resultados.mymeanmymedian

Nota

La inclusión de funciones en scripts requiere R2016b o posterior.MATLAB

x = 1:10; n = length(x); avg = mymean(x,n); med = mymedian(x,n);  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

Puede agregar funciones locales en cualquier orden, siempre y cuando todas aparezcan después del resto del código de script. Cada función comienza con su propia instrucción de definición de función y finaliza con la palabra clave.end La sentencia de definición es la primera línea ejecutable de cualquier función, por ejemplo,.function a = mymean(v,n) Para obtener más información acerca de las instrucciones de definición de función, incluido cómo crearlas, vea.Crear funciones en archivos

Acceda a la ayuda

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 el comando.help Especifique los nombres tanto del script como de la función local, separándolos con un carácter:>

help mystats>mymean      
 mymean Example of a local function.

Ejecutar código

Para ejecutar un script, incluidas todas las funciones locales, haga clic en el(para guiones) oRun(para scripts en vivo) o escriba el nombre del script guardado en la ventana de comandos.Run All También puede ejecutar secciones individuales en un script haciendo clic en elBotón.Run Section

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.MATLAB Esto le permite crear una versión alternativa de una función determinada conservando el original en otro archivo.

Los scripts crean y acceden a variables en el espacio de trabajo base. Las funciones locales, similares a otras funciones, tienen sus propios espacios de trabajo que son independientes del espacio de trabajo base. Las funciones locales no pueden acceder a variables en el espacio de trabajo de otras funciones o en el espacio de trabajo base, a menos que se pasen como argumentos. Para obtener más información, consulte.Los espacios de trabajo base y función

Agregar y ejecutar secciones en Live scripts

El editor en vivo no admite la ejecución de secciones individuales dentro de las funciones locales. Por esta razón, no puede Agregar saltos de sección dentro de las funciones locales en scripts en vivo. Cuando agrega funciones locales a un script en vivo, agrega automáticamente un salto de sección antes de la primera definición de función local y elimina todos los saltos de sección después de él.MATLAB Sin embargo, puede ejecutar secciones individuales dentro del código de script, incluso si contienen una llamada a una de las funciones locales en el archivo. Para obtener más información sobre los saltos de sección y ejecutar scripts en directo, consulte.Ejecutar secciones en Live scripts

Temas relacionados