Descripción Matlab

Descripción Matlab

Matlab es un entorno de cálculo interactivo donde los problemas y las soluciones se escriben matemáticamente en lugar de tener que utilizarse la programación tradicional. Matlab es también el nombre que se le da al propio lenguaje de programación interpretado que se utiliza en esta herramienta. Utilizar Matlab y programar en Matlab es por tanto equivalente pero a diferencia de soluciones como Fortran, no es necesario generar ejecutables, Matlab cuenta con un intérprete que recibe órdenes y las ejecuta.

Su nombre es la abreviatura de MATrix LABoratory “Laboratorio de Matrices , su lanzamiento inicial fue en 1984 y ha pasado por numerosas mejoras y casi 40 versiones distintas hasta alcanzar la actual versión 8.3 (R2014a).

Actualmente integra análisis numérico, cálculo matricial, procesamiento de señales, gráficos y permite ampliar sus capacidades con una serie de ordenes específicas agrupadas en “Toolboxes” con las que se puede resolver todo tipo de problemas concretos como diseño de sistemas de control, simulación de sistemas dinámicos, redes neuronales … Y además , para facilitar su uso, cuenta con dos herramientas adicionales que expanden sus prestaciones:

  • GUIDE ( editor de interfaces de usuario GUI) que permite un control sencillo y la posibilidad de ejecutar una aplicación sin necesidad de dominar el lenguaje
  • Simulink (plataforma de simulación multidominio) que es un entorno de programación de más alto nivel que el lenguaje interpretado Matlab. Proporciona una interfaz gráfica para construir los modelos con diagramas de bloques pulsando y arrastrando con el ratón.

Casi cualquier cosa que se le ocurra a un ingeniero será susceptible de ser analizada, procesada y mostrada por Matlab, pero lamentablemente demasiado caro para algunos y por desgracia inalcanzable para muchos.

A pesar del elevado coste de este software propietario desarrollado y explotado por Mathworks, parece haberse convertido en el indispensable de cualquier ingeniero tanto en entornos universitarios como empresariales. En las universidades es una herramienta estándar utilizada en muchas asignaturas desde el algebra lineal, electrónica, procesamiento digital de señales así como en ingeniería de control, robótica, etc. Y el mundo empresarial ha encontrado la herramienta idónea para aumentar la productividad.

Actualmente está disponible en inglés para Microsoft Windows, Mac OS X, Unix, GNU/Linux en cuatro formatos de licencia:

  • Estándar. Por un módico precio de 2000€ puedes obtener una licencia individual aplicable a dos opciones, o asociada al usuario instalable en hasta cuatro ordenadores pero que se puede utilizar simultáneamente solo en dos. O la opción mas profesional asociada al ordenador en lugar de al usuario. Ambas licencias están restringidas a un único país de uso. Por supuesto se incluye servicio de soporte y acceso a las nuevas funcionalidades durante el primer año con posibilidad de renovar la suscripción para este servicio anualmente previo pago. También cuenta con otras opciones de grupo o en red cuyo precio no aparece detallado en su web. A parte de esto habrá que contar con 1000€ mas para los Toolboxes y otros 5000€ por un compilador que permita comercializar el trabajo.
  • Para uso de profesores. Por 500€ contamos con dos tipos de licencia para uso individual de tipo académico, como antes, una está asociada al usuario y se puede instalar en cuatro pcs pero usarse simultáneamente en dos, y la otra está asociada a una maquina. También ofrece opciones para grupos de personas o de ordenadores, de los cuales no se detalla el precio. Por supuesto el número de usuarios o pcs que podrán usar las licencias esta estrictamente controlado y una vez alcanzado el numero máximo de licencias simultaneas, el acceso se cortará hasta que alguna licencia quede libre.
  • Para uso en casa. Para uso no comercial ni académico podemos instalar esta aplicación en casa por 105 €, solo incluye Matlab y cada herramienta adicional que se quiera instalar costará 29€ mas
  • Para uso de estudiantes: Cuenta con dos productos de este tipo:
    •  “Matlab and Simulink Student Suite” por 69€ incluye Matlab, simulink y diez de los productos complementarios mas utilizados, además de compatibilidad incorporada para la creación de prototipos, pruebas y ejecución de modelos en plataformas hardware de bajo coste.
    • “Matlab Student” por 35€. Incluye solamente Matlab. Los complementos se compran por separado por 20€.

Como vemos no se trata de una solución precisamente barata. Su alto coste es suficiente para que muchas empresas tengan que descartarlo, y no solo por empresas pequeñas donde el coste de una sola licencia puede ascender a un porcentaje alto de su presupuesto, sino también por grandes multinacionales. El alto precio de las licencias individuales y el uso de servidores de licencias pueden provocar que en los picos de trabajo donde se necesitan todas las licencias, un ingeniero clave no pueda trabajar, por lo que algunas grandes empresas han terminado descartando su uso.

En cuanto a las universidades, una de las justificaciones para utilizar esta herramienta es precisamente que es necesario aprender lo que se utiliza en la industria, pero ya hemos visto que su implantación en el mundo empresarial no es tan definitiva.

Principales características de Matlab

Calculo Numérico

MATLAB proporciona métodos de cálculo numérico para análisis de datos, desarrollo de algoritmos y creación de modelos. Para ello se incluyen funciones matemáticas que utilizan librerías optimizadas por procesador para conseguir una ejecución rápida de los cálculos de vectores y matrices.

Entre los métodos disponibles se encuentran:

  • Interpolación y regresión.
  • Diferenciación e integración.
  • Sistemas lineales de ecuaciones.
  • Análisis de Fourier.
  • Valores propios y valores singulares.
  • Ecuaciones diferenciales ordinarias (EDO).
  • Matrices dispersas.

Además existen productos complementarios que proporcionan funciones para áreas especializadas tales como estadística, optimización, análisis de señales y aprendizaje automático.

Visualización

  • Matlab incorpora herramientas que facilitan las tareas de adquisición, visualización y análisis de datos.
    Herramientas de adquisición de datos.

    • Adquisición software.- Matlab permite recopilar datos desde otras aplicaciones como Excel, archivos de texto, binarios, archivos de sonido, imagen o video e incluso archivos científicos como HDF y netCDF y trabajar con archivos de datos en cualquier formato.
    • Adquisición hardware. Utilizando productos complementarios se puede adquirir datos desde dispositivos hardware como el puerto serie de un ordenador, los datos dinámicos medidos con Matlab o incluso otros instrumentos como analizadores de señal, osciloscopios o generadores de funciones.
      Herramientas de análisis de datos
  • Es posible analizar los datos adquiridos para analizar tendencias, probar suposiciones y crear modelos. Con Matlab podemos filtrar, gestionar y procesar los datos. Para ello disponemos de distintas funciones:
    • • Filtrado.
    • Suavizado.
    • Interpolación.
    • Convolución
    • Transformadas rápidas de Fourier (FFT).
    • Productos complementarios:
    • Ajuste de curvas o de superficies.
    • Estadística multivariante.
    • Análisis espectral.
    • Análisis de imágenes.
    • Identificación de sistemas.
  • Herramientas de visualización de datos: Dispone de funciones integrada para crear gráficos en 2D y 3D así como visualizar volúmenes. Gracias a estas herramientas podemos comprender mejor los datos y compartir los resultados. Estos gráficos pueden personalizarse de forma interactiva o programando. Existe una galería de gráficos donde se ofrecen ejemplos de distintas formas de mostrar los datos de forma grafica con Matlab junto con su código fuente.

Desarrollo de aplicaciones

Matlab dispone de un lenguaje propio que permite escribir programas y algoritmos mas rápidamente que con lenguajes tradicionales. No exige tareas como declarar variables, concretar el tipo de los datos y asignar memoria, sin embargo proporciona características de los lenguajes de programación tradicionales como programación orientada a objetos, gestión de errores y control de flujo.

Además permite obtener resultados inmediatos ejecutando comandos en la línea de comandos de manera interactiva, lo que facilita explorar con rapidez las distintas opciones hasta alcanzar la mejor solución posible. Estos pasos interactivos se pueden capturar como un script para poder ser reutilizados para automatizar tareas.

Matlab proporciona productos complementarios que contienen algoritmos más específicos para procesamiento de señales, imagen, video, etc. Y que pueden ser combinados con algoritmos propios para crear aplicaciones mas complejas.

Cuenta con varias herramientas para desarrollar aplicaciones:

  • Ventana de comandos: permite introducir datos, ejecutar comandos o programas y mostrar los resultados de forma interactiva.
  • MATLAB Editor: Sirve para editar y depurar el código. Permite tareas como establecer puntos de interrupción o ejecución línea a línea.
  • Analizador de código: Revisa el código y proporciona sugerencias para corregir errores y mejorar el rendimiento.
    MATLAB Profiler: Busca modificaciones sobre áreas de código que pueden mejorarse.
  • Otras herramientas adicionales comparan código y archivos de datos, proporcionan informes que señalan las dependencias de archivo, los recordatorios comentados y la cobertura del código.
  • Guide: Permite crear, editar y diseñar interfaces gráficas de usuario añadiendo botones, menús desplegables, gráficos etc…
  • Integración con otros lenguajes y aplicaciones. Podemos invocar código Java, C, C++ y .Net directamente desde Matlab. Además incluye una herramienta “Matlab Coder” que permite crear código directamente en C.

Distribución de aplicaciones

Se puede compartir aplicaciones individuales y algoritmos con otras personas.
Para compartirla con otros usuarios de Matlab solo hay que empaquetar a modo de aplicación de Matlab, y esta se instalará automáticamente en la galería de aplicaciones de Matlab. También se pueden compartir algoritmos y aplicaciones con personas que no disponen de Matlab, para ello hay que emplear unos productos complementarios diseñados para tal fin. Generarán de forma automática librerías compartidas, aplicaciones autónomas y componentes software para integrarlos en entornos Java, Net, C, C++ y Excel.

Rendimiento

Matlab utiliza librerías optimizadas para ejecutar cálculos de matrices y vectores rápidamente. Para el cálculo de escalares multipropósito, MATLAB emplea tecnología de compilación JIT (just-in-time) que proporciona velocidades de ejecución similares a las de los lenguajes de programación tradicionales.

Para sacar partido de los ordenadores multinúcleo y multiprocesador, se ofrecen funciones multihilo, tanto numéricas como de álgebra lineal. Estas funciones se ejecutan automáticamente en varios hilos computacionales en una única sesión de MATLAB para lograr una ejecución más rápida en ordenadores multinúcleo. Ademas se pueden utilizar productos complementarios de cálculo paralelo.

Enlaces:

Ejercicios de Referencia de Matlab

Comparativa alternativas de código abierto

Página oficial de la herramienta

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *