Main Content

La traducción de esta página está obsoleta. Haga clic aquí para ver la última versión en inglés.

Diferencias entre los scripts y las funciones

En este tema se tratan las diferencias entre los scripts y las funciones y se muestra cómo convertir un script en una función.

Tanto los scripts como las funciones permiten reutilizar secuencias de comandos guardándolos en los archivos de programa. Los scripts son el tipo de programa más simple, dado que almacenan comandos que están escritos exactamente como deberían introducirse en la línea de comandos. Sin embargo, las funciones son más flexibles y más fácilmente extensibles.

Cree un script en un archivo llamado triarea.m que calcule el área de un triángulo:

b = 5;
h = 3;
a = 0.5*(b.*h)

Después de guardar el archivo, puede llamar al script desde la línea de comandos:

triarea
a =
    7.5000

Para calcular el área de otro triángulo con el mismo script, puede actualizar los valores de b y h en el script y volver a ejecutarlo. Cada vez que se ejecuta, el script almacena el resultado en una variable llamada a que se encuentra en el área de trabajo básica.

Sin embargo, en lugar de actualizar manualmente el script cada vez, puede hacer que el programa sea más flexible convirtiéndolo en una función. Reemplace las instrucciones que asignan valores a b y h con una instrucción de declaración de función. La declaración incluye la palabra clave function, los nombres de los argumentos de entrada y salida y el nombre de la función.

function a = triarea(b,h)
a = 0.5*(b.*h);
end

Después de guardar el archivo, puede llamar a la función con diferentes valores de base y altura desde la línea de comandos sin modificar el script:

a1 = triarea(1,5)
a2 = triarea(2,10)
a3 = triarea(3,6)
a1 =
    2.5000
a2 =
    10
a3 =
     9

Las funciones tienen su propia área de trabajo, independiente del área de trabajo básica. Por tanto, ninguna de las llamadas a la función triarea sobrescribe el valor de a en el área de trabajo básica. En su lugar, la función asigna los resultados a las variables a1, a2 y a3.

Temas relacionados