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.

Crear funciones en archivos

Tanto los scripts como las funciones permiten reutilizar secuencias de comandos almacenándolas en archivos de programa. Los scripts son el tipo de programa más simple, ya que almacenan comandos exactamente como los escribe en la línea de comandos. Las funciones proporcionan más flexibilidad, principalmente porque puede pasar valores de entrada y devolver valores de salida. Por ejemplo, esta función denominada calcula el factorial de un número () y devuelve el result ().factnf

function f = fact(n)     f = prod(1:n); end

Este tipo de función debe definirse dentro de un archivo, no en la línea de comandos. A menudo, se almacena una función en su propio archivo. En ese caso, la práctica recomendada es utilizar el mismo nombre para la función y el archivo (en este ejemplo,), ya que asocia el programa con el nombre de archivo.fact.mMATLAB® Guarde el archivo en la carpeta actual o en una carpeta de la ruta de búsqueda.MATLAB

Puede llamar a la función desde la línea de comandos, utilizando las mismas reglas de sintaxis que se aplican a las funciones instaladas.MATLAB Para las instancias, calcule el factorial de 5.

x = 5; y = fact(5)
y =     120

A partir de R2016b, otra opción para almacenar funciones es incluirlos al final de un archivo de script. Por ejemplo, cree un archivo con el nombre de algunos comandos y dos funciones, y.mystats.mfactperm El script calcula la permutación de (3, 2).

x = 3; y = 2; z = perm(x,y)  function p = perm(n,r)     p = fact(n)*fact(n-r); end  function f = fact(n)     f = prod(1:n); end

Llame al script desde la línea de comandos.

mystats
z =       6

Sintaxis para la definición de función

La primera línea de cada función es la instrucción de definición, que incluye los siguientes elementos.

palabra clave (Required)function

Utilice caracteres en minúsculas para la palabra clave.

Argumentos de salida (opcional)

Si la función devuelve una salida, puede especificar el nombre de salida después de la palabra clave.function

function myOutput = myFunction(x)

Si la función devuelve más de una salida, incluya los nombres de salida entre corchetes.

function [one,two,three] = myFunction(x)

Si no hay ninguna salida, puede omitirlo.

function myFunction(x)

O puede utilizar corchetes cuadrados vacíos.

function [] = myFunction(x)

Nombre de la función (obligatorio)

Los nombres de función válidos siguen las mismas reglas que los nombres de variables. Deben comenzar con una letra y pueden contener letras, dígitos o guiones bajos.

Nota

Para evitar confusiones, utilice el mismo nombre para el archivo de función y la primera función dentro del archivo. asocia el nombre al programa, no el nombre de la función.MATLABfile Los archivos de script no pueden tener el mismo nombre que una función en el archivo.

Argumentos de entrada (opcional)

Si la función acepta entradas, incluya sus nombres entre paréntesis después del nombre de la función. Separe las entradas con comas.

function y = myFunction(one,two,three)

Si no hay entradas, puede omitir los paréntesis.

Sugerencia

Al definir una función con varios argumentos de entrada o salida, enumere primero los argumentos requeridos. Esta ordenación le permite llamar a la función sin especificar argumentos opcionales.

Contenido de funciones y archivos

El cuerpo de una función puede incluir expresiones válidas, instrucciones de flujo de control, comentarios, líneas en blanco y funciones anidadas.MATLAB Las variables que se crean dentro de una función se almacenan dentro de un espacio de trabajo específico de esa función, que es independiente del espacio de trabajo base.

Los archivos de programa pueden contener varias funciones. Si el archivo contiene solo definiciones de función, la primera función es la función principal y es la función que se asocia con el nombre de archivo.MATLAB Las funciones que siguen la función principal o el código de script se denominan funciones locales. Las funciones locales solo están disponibles en el archivo.

Declaraciones finales

Las funciones terminan con una instrucción, el final del archivo o la línea de definición de una función local, lo que ocurra primero.end La declaración es obligatoria si:end

  • Cualquier función del archivo contiene una función anidada (una función completamente contenida en su elemento primario).

  • La función es una función local dentro de un archivo de función, y cualquier función local en el archivo utiliza la palabra clave.end

  • La función es una función local dentro de un archivo de script.

Aunque a veces es opcional, utilice para mejorar la legibilidad del código.end

Consulte también

Temas relacionados