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

Descripción Scilab

Descripción Scilab

Scilab es considerado por muchos usuarios de Linux como el Matlab de Linux. Se desarrolló en los 90 con el objetivo de ser un sistema abierto donde el usuario pueda definir nuevos tipos de datos y operaciones entre ellos. Los creadores fueron INRIA (Instituto nacional de investigación en Informática y Automática) y la ENPC (Escuela Nacional de puentes y caminos), en la actualidad es desarrollada por Scilab Enterprises.

Es de código abierto y está disponible en múltiples sistemas operativos. Puede instalarse directamente desde el centro de software de Ubuntu y está disponible en dos formatos: Scilab completo y Scilab CLI que solo tiene línea de comandos.

Tras la instalación podemos comprobar que dispone de un entorno similar al de Matlab. Y las ordenes y nomenclatura utilizadas, al menos las ordenes sencillas son las mismas que utilizaríamos en Matlab, en la parte de ejercicios podemos observar la similitud.

También dispone de un entorno gráfico similar al Simulink de Matlab llamado Xcos, para simulación de sistemas dinámicos y resolución de ecuaciones diferenciales.

Scilab cuenta con multitud de herramientas como  Gráficos 2-D y 3-D, animación, álgebra lineal, matrices dispersas, polinomios y funciones racionales, simulación, Xcos:  simulador por diagramas de bloque, control clásico , robusto, optimización LMI, optimización diferenciable y no diferenciable, tratamiento de señales, grafos y redes.

Dispone de mucha información en línea y tutoriales que pueden ayudar a cualquier persona a aprender a usarlo rápidamente, este acostumbrado a utilizar este tipo de programas previamente o no. Podemos consultar las cajas de herramientas disponibles para Scilab en la web (http://atoms.scilab.org/).

En cuanto a las diferencias entre Matlab y Scilab, existen bastantes, no en cuanto a funcionalidad sino en cuanto a sintaxis más bien. Por ejemplo, los comentarios en Scilab se marcan con // en lugar de %. Las variables suelen ir con % , las cadenas de texto se consideran como matrices. Los estados verdadero y falso son T y F en Scilab mientras en que Matlab se usa 0 y 1.

Las funciones no son ficheros como los m-files de Matlab. Una o varias funciones pueden definirse dentro del mismo fichero .sci, y el nombre del fichero no tiene por qué ser necesariamente el de la función. Y antes de usarlas se debe ejecutar el comando:

getf(“fichero.sci”,”c”)

A continuación se muestra una tabla con las equivalencias entre las funciones de Matlab y SCILAB.

 

Matlab SCILAB Matlab SCILAB
all and isglobal
any or isinf(a) A==%inf
balance balanc isnan(a)
clock unix(‘date’) isstr(a) type (a)==10
computer unix_g(‘machine’) keyboard pause + resume
cputime timer lasterr
delete unix(‘rm file’) lookfor Apropos
dir unix_g(‘ls’) more Lines
echo mode pack stacksize
eig spec or bdiag pause halt
eval evstr qz gspec+gschur
exist exists + type randn rand
fclose file(‘close’) rem modulo
feof setstr code2str
ferror strcmp(a,b) a==b
feval evstr and strcat uicontrol
filter rtitr uimenu getvalue
finite (x>%inf) unix unix_g
fopen file(‘open’) version
fread Read which whereis
fseek File nargin [nargout,nargin]=argn[0]
ftell nargout
fwrite Writeb

Scilab dispone también de una serie de funciones que emulan funciones existentes en Matlab, para ello solo hay que poner el prefijo mtlb_ delante del nombre de la función:

mtlb_ mtlb_fft mtlb_ifft mtlb_ones
mtlb_all mtlb_filter mtlb_is mtlb_plot
mtlb_any mtlb_find mtlb_ishold mtlb_prod
mtlb_axes mtlb_findstr mtlb_isreal mtlb_qz
mtlb_cell mtlb_fliplr mtlb_lenght mtlb_rand
mtlb_choices mtlb_flipud mtlb_load mtlb_save
mtlb_clf mtlb_fprintf mtlb_loglog mtlb_semilogx
mtlb_cumsum mtlb_fread mtlb_manx mtlb_semilogy
mtlb_diff mtlb_fscanf mtlb_mean mtlb_sprintf
mtlb_e mtlb_fwrite mtlb_median mtlb_sscanf
mtlb_eval mtlb_get mtlb_mesh mtlb_subplot
mtlb_exist mtlb_hold mtlb_meshdom
mtlb_eye mtlb_i mtlb_min

Mas información acerca de la equivalencia de funciones entre Matlab y Scilab:

http://help.scilab.org/docs/5.4.1/fr_FR/section_36184e52ee88ad558380be4e92d3de21.html

En cuanto a conversión de binarios de Matlab a Scilab, en la página de ayuda de Scilab encontramos comandos relativos a esta tarea:

loadmatfile — Carga un archivo Matlab (binario o ASCII) Scilab
matfile_close — Cierra un binario de Matlab
matfile_listvar — Lista de variables de un binario de Matlab.
matfile_open — Abre un archivo binario de Matlab.
savematfile — Guarda un archivo como binario de Matlab.

Más información en:

http://help.scilab.org/docs/5.4.1/en_US/section_f65ed0ac8c3f21fcb03855b5ee46c71c.html

Enlaces:

Ejercicios con Scilab

Página oficial del proyecto

Descarga de la herramienta

Ejercicios Matlab

Ejercicios Matlab

 

Ejercicio 1: Definir una matriz A de dimensiones 5×4 y extraer los bloques formados por:

  1. La fila cuarta
  2. La columna tercera
  3. Desde la fila 2 a la 4
  4. Desde la columna 1 a la columna 3
  5. Las filas 1,3 y 5
  6. Las columnas 2 y 4

Matlab_Captura_1.1

Matlab_Captura_1.2

Ejercicio 2: Matrices especiales.

  1. Crear una matriz identidad de dimensión 5
  2. Crear una matriz identidad de dimensión 5 utilizando una variable como parámetro
  3. Crear una matriz identidad del mismo tamaño que la matriz A
  4. Crear una matriz de dimensión 4×5 cuyos elementos sean todos cero menos la diagonal que esté formada por unos.Matlab_Captura_2.1
  5. Crear matrices formadas por ceros (zeros(x)).
  6. Crear matrices formadas por unos (ones(x)).
  7. Generar matrices formadas por números aleatorios entre 0 y 1, o entre cero y un número y. (y*rand(x))

Matlab_Captura_2.2

Ejercicio 3: Formar matrices creadas a partir de otras matrices.

Generamos cuatro matrices A, B, C y D aleatorias de dimensiones (3,2), (3,3), (2,3) y (2,2) respectivamente. Y generamos nuevas matrices que las combinen. Usando espacio E=(A B) la segunda matriz forma las ultimas columnas de la nueva matriz. Separando mediante “;” la segunda matriz forma las últimas filas de la nueva matriz.

Matlab_Captura_3.1

También podemos crear filas o columnas de ceros en la nueva matriz utilizando la función (zeros).

Matlab_Captura_3.2

Ejercicio 4: Operaciones con matrices.

Podemos realizar operaciones sencillas con matrices mediante los operadores lógicos habituales, suma, resta, multiplicación, potencia…

Matlab_Captura_4.1

Las funciones inv, det y rref sirven para calcular la inversa, el determinante y la matriz escalonada canónica respectivamente.

Matlab_Captura_4.2

Ejercicio de SIMULINK

 

Vamos a probar el entorno gráfico de Matlab simulando un circuito sencillo que emplee módulos integradores, sumadores y de ganancia introduciendo como fuente una señal cuadrada.

Creamos un nuevo Modelo Simulink y a continuación abrimos las librerías pulsando sobre el icono.

 Matlab_Captura_Simulink_1  Matlab_Captura_Simulink_2
Al pulsar el icono nos aparecen dos ventanas, una contiene un árbol con los títulos de las distintas librerias y al seleccionarlas, a la derecha aparecen los componentes que las forman.También aparece una ventana de dibujo.Para realizar el diseño tenemos que arrastrar los componentes de la librería a la ventana del dibujo, unirlos con lineas e introducir el valor deseado en cada uno de los componentes dando doble clic sobre ellos.Para realizar la simulación incluimos un módulo “Scope” a la salida del diseño.
 Matlab_Captura_Simulink_3

Una vez completado el diseño podemos simularlo pulsando el icono  (simular) de la barra de tareas y haciendo doble clic en el módulo “Scope” a continuación aparecerá un pop up con la gráfica de la simulación y tendremos que usar el botón de escalado  para ajustarla a la vista.

A la hora de realizar los ejercicios con la versión de estudiantes de Matlab, no he encontrado problemas debidos a limitaciones de uso por tratarse de una versión “limitada” lo que si me ha resultado extraño e incluso molesto es el no poder utilizar esta versión sin conexión a internet ya que el programa intentaba consultar la licencia continuamente por lo que tuve que conectar el ordenador a la conexión de datos del teléfono móvil para seguir trabajando.

Matlab_Captura_Simulink_4

Descripción GNU-Octave

Descripción GNU-Octave

Octave es una herramienta de gran utilidad para el cálculo numérico que se ha convertido en una alternativa real a una de las estrellas del Software en ingeniería: Matlab.  Es un proyecto de software libre que no nació con la idea de imitar a su actual competidor sino para ser utilizado en un curso de reactores químicos en la universidad de Wisconsin.

Se trata de un una herramienta de software libre diseñada para realizar cálculos numéricos, de algebra, funciones, polinomios, etc.,  y también ejecuta comandos en tiempo real.  Proporciona una interfaz de comandos que permite resolver cálculos utilizando un lenguaje casi compatible con Matlab, y es considerada su alternativa de software libre, permite utilizar la gran mayoría de las funciones de la Mathworks y además permite el uso de la mayor parte de las librerías de C.

Octave no comenzó como una alternativa a Matlab, sino que se inició para ser utilizado en un curso de reactores químicos y posteriormente se amplió.

Comenzó su desarrollo a cargo de John W.Eaton, y poco a poco ha ido pareciéndose a Matlab pero manteniendo algunas diferencias. En palabras del propio John Eaton: “Hay diferencias entre Matlab y Octave y algunas seguirán así. No existen porque Octave esté roto sino porque creemos que Matlab lo está.”

Octave utiliza matrices como tipo de datos básico, tiene soporte para números complejos, funciones integradas y una extensa librería de funciones, puede cargar archivos con funciones de Matlab (.m), su funcionalidad es ampliable por el usuario, se pueden introducir órdenes para listar contenidos de directorios ya que también se comporta como una consola de ordenes Shell, además cuenta con ayuda en Español.

Sin embargo tiene algunas diferencias o incompatibilidades. Octave permite ciertas cosas que no permite Matlab, como por ejemplo el uso de comillas dobles y simples y por tanto habrá que tener todas estas diferencias en mente a la hora de programar para conseguir la máxima compatibilidad posible si se desea poder utilizar el código en ambas herramientas.

Principales diferencias con Matlab:

  1. No dispone de editor.
  2. No dispone de interfaz gráfica.
  3. La programación orientada a objetos aun no puede realizarse con Octave.
  4. Octave no incluye herramienta análoga a Simulink.
  5. Octave incluye un API para la interfaz MEX de Matlab. Sin embargo, Octave y Matlab no son completamente compatibles internamente y es necesario manipular los datos para convertir de MEX al equivalente de Octave.
  6. Matlab permite abrir archivos vacíos, Octave no.
  7. Algunos tipos de variables no son aceptados.
  8. Matlab utiliza % para marcar los comentarios, en Octave se puede usar % o #.
  9. Para exponenciar, Matlab utiliza ^, Octave permite ^ o **.
  10. Para delimitar cadenas de texto, Matlab utiliza comillas simples, Octave, permite comillas simples y dobles.
  11. Matlab ha incluido un nuevo formato HDF5 para plataformas de 64 bits donde el standard de Matlab no guarda correctamente las variables. Octave acepta archivos en ese formato pero no puede guardarlos. Además algunos caracteres Unicode multi-byte aún no se soportan.
  12. Matlab no permite espacio antes del operador .

[0 1]’   % funciona en Matlab y en Octave

[0 1] ‘  % funciona solo en Octave

  1. Matlab requiere … para cambiar de línea

rand (1, …

2)                % funciona en  Matlab y en Octave

rand (1,

2)                % funciona solo en Octave

rand (1, \

2)                % funciona solo en Octave

  1. Comparación ‘~=’ funciona en Matlab y en Octave, pero en Octave también se puede usar ‘!=’.
  2. Limitaciones en el generador de perfiles.
  3. Las cajas de herramientas de las que se dispone podrían no tener las mismas características que ofrecen las de Matlab, ya que son creadas y donadas por usuarios que las comparten a través de “Octave Forge”
  4. El cálculo de operaciones q incluyen |,& y ||, &&, /, \, no es exactamente el mismo en Matlab y en Octave.
  5. En Octave los comentarios se pueden marcar con #, esto permite a los sistemas POSIX tener en la primera línea el comentario #! Octave –q que marca el script como ejecutable. Matlab no incluye este comportamiento ya que no soporta comentarios marcados con # al principio.
  6. En Matlab no se pueden terminar los bloques con otras palabras clave que no sean “end”, no permite el uso de por ejemplo “endif”, “endfor”….
  7. Octave incluye una característica que hace que las variables que han sido modificadas en bloques que terminan en un error sean restauradas unwind_protect en el caso de Matlab se puede conseguir el mismo efecto combinando  rethrow (lasterror() ) pero estas órdenes están disponibles en Octave solo a partir de la versión 2.9.10. A partir de Matlab 2008a aparece OnCleanUp que es similar al unwind_protect de Octave, pero no idéntico.
  8. Existen limitaciones en cuanto al uso de identificadores de función.
  9. Funciones anidadas: Los autores de Octave han considerado que las funciones anidadas generan más problemas que ventajas y hacen más difícil encontrar errores, por lo que no se utilizan.
  10. Otras diferencias en cuanto a funciones:
    1. Para “dbstep,in” se usa dbstep, y para “dbstep, se usa “dbnext”.
    2. Para “eig(A,B)” se usa “qz(A,B).
    3. Fputs no esta disponible en Matlab, en us lugar se usa fprintf.

Octave soporta printf y fprintf mientras Matlab solo soporta fprintf

Enlaces:

Ejercicios con GNU-Octave

Página oficial del proyecto

Descarga de la herramienta

Descripción RLab

Descripción RLab

RLab es un software de programación numérica que proporciona algunas de las mejores características de Matlab pero diseñado para trabajar en modo consola, lo que lo hace más potente y mas rápido pero también mas difícil de utilizar. El desarrollador de este programa opto por una sintaxis diferente a la de Matlab para disminuir su ambigüedad por lo que adaptarse a esta solución puede requerir mas tiempo y esfuerzo que adaptarse a otras alternativas.

Enlaces:

Página oficial de la herramienta

Descarga de la Herramienta