Octave: el Matlab libre

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 paquetes Octave-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!

Comparte para difundir

Si te ha gustado nuestro contenido ahora puedes ayudar a difundirlo en las redes sociales de manera sencilla usando los siguientes botones:

Envía
Pinea
Print

19 comentarios

  1.   Jabba dijo

    Hola, ante todo darte la enhorabuena por el blog (se agrace tener algo nuevo que leer de vez en cuando). Sólo hacer una puntualización: soy estudiante de ingeniería (y compañero del gremio bloggero 😀 ) y he tenido que lidiar tanto con Octave como Matlab y te puedo garantizar que en su mayoría (y por desgracia) no es tan compatible, algo que deja de ser una mera anécdota para convertirse en un verdadero problema cuando tienes que trabajar con archivos de Matlab hechos por ti con anterioridad o por otros compañeros que no usan Octave. Afortunadamente Matlab tiene versión UNIX que funciona de forma nativa y de maravilla en cualquier distribución de Linux (y en Mac). Si me lo permites y te interesa el tema, en mi blog hay publicados varios tutoriales y artículos referidos a Matlab y Octave. Para cualquier cosa ya sabes.

    Un saludo y reitero mi enhorabuena 😉

  2.   Yese_nr dijo

    hola estoy haciendo mi tesis y voy a extender octave con codigo hecho en fortran si me pueden ayudar : es obligatorio crear una interfaz en octave tecleando un codigo .cc para poder compilar el codigo de fortran, es decir, mkoctfile codigo_octave.cc codigo.f

  3.   Cristobal dijo

    Aclaraciones, qtoctave es un front-end de octave con librerías qt, realizado por un español y que tiene su propio blog del programa, estaría bien que lo citases .
    Qtoctave en su újltima versión está disponible, para el que lo quiera, en el repo que tengo de Launchpad, ya que Ubuntu no lo actualiza. Espero que en la próxima versión de Ubuntu salga actualizado, ya que estuve en contacto con el empaquetador oficial de Debian.
    Otra cosa, desde qtoctave se pueden instalar los paquetes de sourceforge de Octave.
    En Mandriva y habilitando los repositorios del MIB se pueden instalar así:
    urpmi qtoctave octave
    Saludos 🙂

  4.   Usemos Linux dijo

    Excelente aporte! No sabía muchas de las cosas que mencionaste, así que gracias x comentar.Ya agregué el blog que mencionás. Podrías pasarnos el comando para instalar tu PPA?
    Saludos! Pablo.

  5.   Cristobal dijo

    La cuestión a mi parecer radica en que si en las universidades utilizasen más Octave esto no pasaría, en la Facultad de Mates de Valencia era éste el que utilizábamos cuando era estudiante.
    ¿Has probado Scilab a ver qué tal?
    Saludos

  6.   Cristobal dijo

    Hola, gracias. Esto es el comando:

    sudo su –

    add-apt-repository ppa:lopeztobal/maths

    apt-get update && apt-get upgrade

    exit

    El repositorio va enfocado sobretodo a matemáticas.
    Saludos

  7.   Usemos Linux dijo

    Muchísimas gracias! Enseguida la agrego al post!
    Abrazo! Pablo.

  8.   Jabba dijo

    Estoy completamente de acuerdo. En mi caso es en la universidad de Alicante y te puedo asegurar que el problema es tanto del profesorado (que ni siquiera conoce la existencia de alternativas libres igualmente válidas) como de la propia administración por no tener un departamento de informática competente capaz de formar a los profesores por ejemplo en el uso de Octave en lugar de Matlab. Pero vamos que no es ninguna novedad. Esto mismo ya lo he vivido con otros programas como Microsoft Project o Microsoft Visio (hay alternativas libres muy buenas y no hay forma de cambiar la cuadriculada mente de algunos profesores).

    Scilab no lo probado.

    Un saludo.

    La verdad que no he probado Scilab.

  9.   calandraca dijo

    Hola a todos, soy nuevo en esto de Linux (Ubuntu), y por motivos de trabajo necesito instalar urgentemente Octave; y no tengo idea alguna de como hacerlo. Alguien me puede ayudar, diciéndome los pasos uno a uno. Muchas gracias. Saludos y enhorabuena por el Blog.

  10.   Saito Mordraug dijo

    Muchas gracias por la entrada. Siempre son muy interesantes los artículos de la página.

  11.   Usemos Linux dijo

    Ok. Suponiendo que estás usando Ubuntu, andá al menú Aplicaciones > Centro de Software de Ubuntu. Una vez allí, escribí “Octave” (sin las comillas). Aparecerán varias opciones, elegí la que dice Qtoctave (que es la interfaz gráfica para gnu octave). Presioná el botón Instalar. Eso es todo.
    Saludos! Pablo.

  12.   Ernesto Palacios dijo

    Seria bueno q subiesen manuales sobre el octave..

    1.    osvaldo dijo

      lo puedes encontrar en internet si pones manual de actave en el google te salen miles:
      http://www.google.es/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&sqi=2&ved=0CC8QFjAA&url=http%3A%2F%2Fsoftlibre.unizar.es%2Fmanuales%2Faplicaciones%2Foctave%2Fmanual_octave.pdf&ei=ruGNUsm7Isz40gXSmYGwDQ&usg=AFQjCNHCWYypv_5YikgyG_rF2NZ4RPWgug&bvm=bv.56987063,bs.1,d.Yms

  13.   Jesús Tepec dijo

    Que se sabe a cerca del soporte para vídeo de octave, el paquete ya es funcional o sigue igual???

  14.   CARLOS dijo

    SALUDOS..

    MUCHAS GRACIAS POR ESTE BLOG ES MUY BUENO…PERO TENGO VARIAS DUDAS
    ESTOY TRABAJANDO CON RASPBERRY PI Y LO QUE QUIERO HACER ES INSTALAR
    EL OCTAVE EN EL RASPBERRY PERO NO LOGRO HACERLOS…..EL RASPBERRY ESTA
    FUNCIONANDO CON EL SISTEMA OPERATIVO RASPBIAN
    INGRESO LOS CÓDIGOS DE INSTALACIÓN COMO SI FUERA LINUX PERO GENERA ERRORES

    QUISIERA SABER SI ME PUEDES AYUDAR POR FAVOR

    GRACIAS

  15.   Sergio dijo

    Sé que esta entrada es vieja pero me preguntaba si me podrian ayudar. Al tratar de instalar el paquete simbólico de Octave me sale este error:
    octave:1> pkg install “symbolic-1.1.0.tar.gz”
    sh: 1: make: not found

    pkg: error running `make’ for the symbolic package.
    error: called from ‘configure_make’ in file /usr/share/octave/3.8.1/m/pkg/private/configure_make.m near line 82, column 9
    error: called from:
    error: /usr/share/octave/3.8.1/m/pkg/private/install.m at line 206, column 5
    error: /usr/share/octave/3.8.1/m/pkg/pkg.m at line 394, column 9

    ¿Qué puedo hacer? muchas gracias

  16.   Carlos dijo

    Buenas noches. Este programa es compatible para utilizar con windows 7? Y si es así, dónde pillo un link.

    De antemano les agradezco la información.

    1.    Jucaoma dijo

      https://www.gnu.org/software/octave/download.html

  17.   Edgar dijo

    Esto es como cuando dicen “carne de soya” o “leche de almendras”

Deja un comentario

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

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.