sábado, 3 de septiembre de 2011

Octave: el Matlab Linux


Esta herramienta es parte del proyecto GNU. MATLAB es considerado su equivalente comercial. Entre varias características que comparten se puede destacar que ambos ofrecen un intérprete permitiendo ejecutar órdenes en modo interactivo. Nótese que Octave no es un sistema de álgebra computacional como podría ser Maxima, sino que usa un lenguaje que está orientado al análisis numérico.

GNU Octave es un lenguaje de alto nivel, incialmente pensado para la computación numérica. Octave proporciona una interfaz de línea de comandos para resolver problemas lineales y no lineales de manera numérica, y desarrollar otros experimentos numéricos utilizando para ello un lenguaje que en su mayoría es compatible con Matlab. También se puede utilizar como un lenguaje de lotes (batch-oriented language).

Octave tiene una gran cantidad de herramientas para resolver problemas de álgebra numérica comunes, encontrar las soluciones de ecuaciones no lineales, realizar integrales de funciones ordinarias, manipular polinomios, e integrar ecuaciones diferenciales ordinarias y ecuaciones diferenciales algebraicas. Es fácil de extender y modificar a través de funciones definidas por el usuario escritas en el porpio lenguaje de Octave, o utilizando módulos cargados dinámicamente escritos en otros lenguajes como C, C++, Fortran, etc.




Detalles técnicos
  • Octave está escrito en C++ usando la librería STL.
  • Tiene un intérprete de su propio lenguaje (de sintaxis similar a Matlab), y permite una ejecución interactiva o por lotes.
  • Puede extenderse el lenguaje con funciones y procedimientos por medio de módulos dinámicos.
  • Utiliza otros programas GNU para ofrecer al usuario crear gráficos para luego imprimirlos o guardarlos (Grace).
  • Dentro del lenguaje también se comporta como una consola de órdenes (shell). Esto permite listar contenidos de directorios, por ejemplo.
  • Además de correr en plataformas Unix también lo hace en Windows.
  • Puede cargar archivos con funciones de Matlab de extensión .m.
  • Ayuda en español.

El lenguaje de Octave
  • La sintaxis es similar a la utilizada en MATLAB.
  • Es un lenguaje interpretado.
  • No permite pasar argumentos por referencia. Siempre se pasan por valor.
  • No permite punteros.
  • Se pueden generar scripts.
  • Soporta gran parte de las funciones de la librería estándar de C.
  • Puede extenderse para ofrecer compatibilidad a las llamadas al sistema UNIX.
  • El lenguaje está pensado para trabajar con matrices y provee mucha funcionalidad para trabajar con éstas.
  • Soporta estructuras similares a los "struct"s de C.

Varios enlaces externos de interés

Instalación

En Debian, Ubuntu, etc.:

sudo apt-get install octave qtoctave

En Fedora: 

su -c 'yum install octave qtoctave'

Otras distros: 


Octave-Forge

Gracias a Cedpren conocemos los pasos a seguir para instalar las funcionalidades de los paquetesOctave-Forge:

1. Descargar el paquete que nos interese (comprimido).

2. Copiar el comprimido a la carpeta de trabajo de Octave que, al menos que se especifique otra cosa, suele ser la carpeta principal del usuario (/home/[nombre-de-usuario]/)

3. Ejecutar Octave como superusuario (puede utilizarse sudo).

4. Escribir en la línea de comandos de Octave

pkg install "nombre-del-paquete.tar.gz"

Para instalar la última versión de Octave

Gracias a Cristobal, que ha compartido con nosotros este interesante PPA, podemos instalar la última versión de Octave y QtOctave sin problemas:

sudo su -

add-apt-repository ppa:lopeztobal/maths

apt-get update && apt-get upgrade

exit

¡Gracias Cristobal y Cedpren

No hay comentarios: