# MATLAB

MATLAB (abreviatura de MATrix LABoratory, «laboratorio de matrices») es un sistema de cómputo numérico que ofrece un entorno de desarrollo integrado (IDE) con un lenguaje de programación propio (lenguaje M). Está disponible para las plataformas Unix, Windows, macOS y GNU/Linux.
Entre sus prestaciones básicas se hallan la manipulación de matrices, la representación de datos y funciones, la implementación de algoritmos, la creación de interfaces de usuario (GUI) y la comunicación con programas en otros lenguajes y con otros dispositivos hardware. El paquete MATLAB dispone de dos herramientas adicionales que expanden sus prestaciones, a saber, Simulink (plataforma de simulación multidominio) y GUIDE (editor de interfaces de usuario - GUI). Además, se pueden ampliar las capacidades de MATLAB con las cajas de herramientas (toolboxes); y las de Simulink con los paquetes de bloques (blocksets).
Es un software muy usado en universidades y centros de investigación y desarrollo. En los últimos años ha aumentado el número de prestaciones, como la de programar directamente procesadores digitales de señal o crear código VHDL.
En 2004, se estimaba que MATLAB era empleado por más de un millón de personas en ámbitos académicos y empresariales.

## Características
### Lenguaje

Las aplicaciones de MATLAB se desarrollan en un lenguaje de programación propio. Este lenguaje es interpretado, y puede ejecutarse tanto en el entorno interactivo, como a través de un archivo de script (archivos *.m). Este lenguaje permite operaciones de vectores y matrices, funciones, cálculo lambda, y programación orientada a objetos.

### Gráficos e interfaces gráficas

MATLAB provee funciones y herramientas para visualizar datos en 2D y 3D.

### Toolboxes
#### MATLAB

* Parallel Computing
* Math, Statistics, and Optimization
* Control Systems
* Signal Processing and Communications
* Image Processing and Computer Vision
* Test and Measurement
* Computational Finance
* Computational Biology
* Code Generation and Verification
* Application Deployment
* Database Connectivity and Reporting
* MATLAB Report Generator
* Text Analytics Toolbox™
* Text Omg

#### Simulink

* Event-Based Modeling
* Physical Modeling
* Control Systems
* Signal Processing and Communications
* Code Generation
* Real-Time Simulation and Testing
* Verification, Validation, and Test
* Simulation Graphics and Reporting

### Limitaciones y alternativas

Durante mucho tiempo hubo críticas porque MATLAB es un producto propietario de The Mathworks, y los usuarios están sujetos y bloqueados al vendedor. Recientemente se ha proporcionado una herramienta adicional llamada MATLAB Builder bajo la sección de herramientas «Application Deployment» para utilizar funciones MATLAB como archivos de biblioteca que pueden ser usados con ambientes de construcción de aplicación .NET o Java. Pero la desventaja es que el computador donde la aplicación tiene que ser utilizada necesita MCR(MATLAB Component Runtime) para que los archivos MATLAB funcionen correctamente. MCR se puede distribuir libremente con los archivos de biblioteca generados por el compilador MATLAB.

### Interfaz con otros lenguajes de programación

MATLAB puede llamar funciones y subrutinas escritas en C o Fortran. Se crea una función envoltorio que permite que sean pasados y devueltos tipos de datos de MATLAB. Los archivos objeto dinámicamente cargables creados compilando esas funciones se denominan MEX-files, aunque la extensión de nombre de archivo depende del sistema operativo y del procesador.

## Historial de versiones

La versión más reciente de MATLAB es la R2023b, publicada el 14 de diciembre de 2023.

## Requisitos del sistema

Los requisitos del sistema para la versión R2016b son los siguientes:
* Sistema operativo:
   * Windows: Windows 11 (version 22H2 or higher), Windows 10 (version 22H2) y Windows Server 2022.
   * Mac: macOS 15, 14 y 13.6.
   * Linux: Kernel 3.10 o superior, glibc 2.17 o superior.
* Procesador: Intel o AMD x86-64 con soporte de instrucciones AVX2.
* Disco: 4,2 GB solo para MATLAB, 4-6 GB para una instalación típica, 24 GB para una instalación completa.
* RAM: 8 GB mínimo, 16 GB recomendado.
* Tarjeta gráfica: Soporte para OpenGL 3.3 recomendado con 1 GB en GPU.

## Licencia

MATLAB es un software privativo de MathWorks. De forma independiente, se ofrecen los toolboxes. Además, existen dos versiones para estudiantes. La primera incluye solo MATLAB, y la segunda incluye Simulink y otros 10 módulos.