Archivos M de MATLAB: Scripts y Funciones para Programación Potente
Hasta ahora hemos usado MATLAB como calculadora. Pero MATLAB es también un lenguaje de programación potente y entorno computacional interactivo.
MATLAB permite escribir series de comandos en un archivo y ejecutarlo como unidad completa, como escribir una función y llamarla.
Los Archivos M
MATLAB permite dos tipos de archivos de programa:
Scripts — Archivos con extensión .m. Contienen serie de comandos a ejecutar juntos. No aceptan entradas ni devuelven salidas. Operan sobre datos del workspace.
Funciones — Archivos con extensión .m. Aceptan entradas y devuelven salidas. Variables internas son locales a la función.
Puedes usar el editor de MATLAB u otro editor de texto para crear archivos .m. Aquí discutimos scripts. Un script contiene líneas secuenciales de comandos y llamadas a funciones. Ejecutas un script tecleando su nombre en la línea de comandos.
Crear y Ejecutar Archivo Script
Para crear scripts, usa un editor de texto. Abre el editor de MATLAB de dos formas:
- Desde el prompt de comandos
- Desde el IDE
En el prompt, teclea edit. Se abre el editor. También puedes teclear edit <nombre_archivo> (con extensión .m).
edit edit nombre_archivo.m
El archivo se crea en el directorio MATLAB por defecto. Para guardar en carpeta específica, indica la ruta completa.
Creemos una carpeta progs. En el prompt >>:
mkdir progs % crea directorio progs bajo directorio por defecto chdir progs % cambia directorio actual a progs edit prog1.m % crea archivo m llamado prog1.m
Si es la primera vez, MATLAB pide confirmación. Pulsa Sí.
Alternativamente, en el IDE: NEW → Script. Abre editor y crea archivo Untitled. Nómbralo y guárdalo tras escribir código.
Escribe el siguiente código en el editor:
Demo en vivoNoOfStudents = 6000; TeachingStaff = 150; NonTeachingStaff = 20; Total = NoOfStudents + TeachingStaff ... + NonTeachingStaff; disp(Total);
Tras crear y guardar, ejecuta de dos formas:
- Botón Run en la ventana del editor.
- Teclear nombre del archivo (sin extensión) en el prompt:
>> prog1
La ventana de comandos muestra:
6170
Ejemplo
Crea script con el siguiente código:
Demo en vivoa = 5; b = 7; c = a + b d = c + sin(b) e = 5 * d f = exp(-d)
Al compilar y ejecutar:
c = 12 d = 12.657 e = 63.285 f = 3.1852e-06
Archivos de Función
Las funciones aceptan entradas y devuelven salidas. Sintaxis básica:
function [salida1, salida2, ...] = nombre_funcion(entrada1, entrada2, ...)
% Cuerpo de la función
end
Ejemplo: función que calcula el factorial:
function result = factorial(n)
if n == 0
result = 1;
else
result = n * factorial(n-1);
end
end
Guárdalo como factorial.m y úsalo:
>> factorial(5) ans = 120
Diferencias Clave: Scripts vs Funciones
| Característica | Scripts | Funciones |
|---|---|---|
| Entradas | No | Sí |
| Salidas | No | Sí |
| Variables | Comparten workspace base | Workspace propio (local) |
| Reutilización | Limitada | Alta (llamadas múltiples) |
| Depuración | Más difícil | Más fácil (aislado) |
MATLAB
- Fundamentos de MATLAB: Sintaxis Esencial y Comandos Básicos
- Variables en MATLAB: Conceptos Básicos y Ejemplos Prácticos
- Comandos Esenciales de MATLAB para Computación Eficiente
- Tipos de Datos en MATLAB: Guía Completa de Conversión y Determinación
- Operadores en MATLAB: Guía Completa de Aritméticos, Relacionales, Lógicos y Bitwise
- Matrices en MATLAB: Creación, Referenciación y Manipulación de Datos
- MATLAB: Dominando Arrays Multidimensionales y Especiales
- Dominando la Notación de Dos Puntos en MATLAB: Vectores e Iteraciones
- MATLAB - Números: Tipos, Almacenamiento y Conversión
- Dominando Strings en MATLAB: Creación, Manipulación y Funciones
- Funciones en MATLAB: Definición, Workspace, Entradas y Salidas