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.
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 ().fact
n
f
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.m
MATLAB® 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.m
fact
perm
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
La primera línea de cada función es la instrucción de definición, que incluye los siguientes elementos.
palabra clave (Required) | 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 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. NotaPara 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. |
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.
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.
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