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.

Agregar funciones a scripts

Los scripts de MATLAB®, incluidos los scripts en vivo, pueden contener código para definir funciones. Estas funciones se denominan funciones locales. Las funciones locales son útiles si desea reutilizar código de un script. Agregando funciones locales, puede evitar la creación y administración de archivos de funciones independientes. También son útiles para experimentar con funciones, que se pueden agregar, modificar y eliminar fácilmente según sea necesario.

Crear un script con funciones locales

Para crear un script o script en vivo con funciones locales, vaya a la pestaña Home y seleccione New Script o New Live Script. Después, agregue código al archivo. Cada función local debe comenzar con su propia instrucción de definición de función y acabar con la palabra clave end. Las funciones pueden aparecer en cualquier orden y pueden definirse en cualquier parte del script.

Antes de R2024a: Las funciones locales en scripts deben definirse al final del archivo, después de la última línea de código del script.

Por ejemplo, cree un script llamado mystats.m.

edit mystats

En el archivo, incluya dos funciones locales, mymean y mymedian. El script mystats declara un arreglo, determina la longitud del arreglo y, después, utiliza las funciones locales mymean y mymedian para calcular la media y la mediana del arreglo.

x = 1:10;
n = length(x);

function a = mymean(v,n)
% MYMEAN Local function that calculates mean of array.

    a = sum(v)/n;
end

function m = mymedian(v,n)
% MYMEDIAN Local function that calculates median of array.

    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

avg = mymean(x,n);
med = mymedian(x,n);

Ejecutar scripts con funciones locales

Para ejecutar un script o script en vivo que incluye funciones locales, en la pestaña Editor o Live Editor, haga clic en el botón Run. También puede escribir el nombre del script guardado en la ventana de comandos.

Para ejecutar una sección individual dentro de un script o script en vivo, coloque el cursor en la sección y utilice el botón Run Section (se requiere la versión R2017b o posterior para los archivos .m). En scripts en vivo o funciones (archivos .mlx), solo puede ejecutar secciones cuando estas anteceden a las definiciones de las funciones locales.

Restricciones de las variables y funciones locales

Las funciones locales solo son visibles en el archivo cuando están definidas. No son visibles para funciones de otros archivos y no se las puede llamar desde la ventana de comandos.

Las funciones locales del archivo actual tienen prioridad sobre las funciones de otros archivos. Es decir, cuando llama a una función de un script, MATLAB comprueba si la función es una función local antes de buscar la función en otras ubicaciones. Esto le permite crear una versión alternativa de una función en particular y, a la vez, conservar la original en otro archivo.

Los scripts crean y acceden a variables en el área de trabajo básica. Las funciones locales, como todas las demás funciones, tienen sus propias áreas de trabajo independientes del área de trabajo básica. Las funciones locales no pueden acceder a las variables del área de trabajo de otras funciones o del área de trabajo básica a menos que las pase como argumentos.

Los scripts que contienen funciones locales deben contener código ejecutable fuera de una función.

Acceder a la ayuda de las funciones locales

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

Por ejemplo:

help mystats>mymean
 mymean Local function that calculates mean of array.

Temas relacionados