¿matlab? yo uso octave upm

34
¿MATLAB? Yo uso Octave UPM Israel Herraiz Universidad Politécnica de Madrid [email protected] Consigue esta presentación en http://slideshare.net/herraiz/matlab-yo-uso-octave-upm Israel Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 1/26

Upload: israel-herraiz

Post on 29-May-2015

4.913 views

Category:

Education


2 download

DESCRIPTION

MATLAB se ha convertido en un estándar para el cálculo científico y la visualización en ingeniería y ciencias, y como herramienta docente en universidades. El principal inconveniente para la enseñanza con MATLAB es la dificultad de acceso de los alumnos a la herramienta, debido al alto coste de las licencias. Esto provoca un impacto docente muy claro, pues pocos estudiantes pueden practicar usando sus propios ordenadores. Octave es una alternativa a MATLAB, que se distribuye como software libre. El principal inconveniente que ha tenido Octave hasta ahora era la falta de una interfaz gráfica sencilla y de un entorno de programación, similares a los que presenta MATLAB. Además, puede ser complicado de instalar en algunas plataformas, como Windows. Este inconveniente es historia gracias al proyecto Octave UPM, que proporciona un entorno de programación basado en Octave compatible con MATLAB. El entorno Octave UPM ofrece las mismas funcionalidades que MATLAB y ha sido probado con éxito en varias asignaturas en la UPM, con más de 200 alumnos matriculados, que anteriormente empleaban exclusivamente MATLAB, sin cambiar una línea del código de las asignaturas.

TRANSCRIPT

Page 1: ¿MATLAB? Yo uso Octave UPM

¿MATLAB? Yo uso Octave UPM

Israel Herraiz

Universidad Politécnica de Madrid

[email protected]

Consigue esta presentación en

http://slideshare.net/herraiz/matlab-yo-uso-octave-upm

Israel Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 1/26

Page 2: ¿MATLAB? Yo uso Octave UPM

Contenidos

1 El problema

2 Posibles soluciones

3 Solución adoptada

4 Experiencias en la docencia

5 El futuro

6 Para llevar

Israel Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 2/26

Page 3: ¿MATLAB? Yo uso Octave UPM

1 El problema

2 Posibles soluciones

3 Solución adoptada

4 Experiencias en la docencia

5 El futuro

6 Para llevar

Israel Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 3/26

Page 4: ¿MATLAB? Yo uso Octave UPM

Informática en Caminos

Contexto del problema

Asignatura de Programación y Métodos Numéricos paraestudiantes de primer curso de Ingeniería Civil

Hereda de asignaturas presentes en Ingeniería de Caminos desde los 60

Desde hace muchos años, MATLAB es el entorno de

programación para esta asignatura

Asignatura con cinco grupos de matrícula, hasta 100 alumnos porgrupo

Israel Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 4/26

Page 5: ¿MATLAB? Yo uso Octave UPM

Limitaciones para la docencia

La Universidad Politécnica de Madrid es titular de 150 licencias deMATLAB

No se pueden conectar más de 150 puestos simultáneamente

No hay licencias para alumnos

Los laboratorios de la Escuela tienen puestos limitados y horarios conpoca compatibilidad con las clases

Israel Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 5/26

Page 6: ¿MATLAB? Yo uso Octave UPM

Limitaciones para la docencia

La Universidad Politécnica de Madrid es titular de 150 licencias deMATLAB

No se pueden conectar más de 150 puestos simultáneamente

No hay licencias para alumnos

Los laboratorios de la Escuela tienen puestos limitados y horarios conpoca compatibilidad con las clases

Impacto docente claro

Riesgo de conflictos entre grupos de laboratorio de diferentes escuelas.Los alumnos no compran la licencia de estudiantes, e intentanconseguirla por otros medios.Muchos alumnos no practican en su propio ordenador, debido a ladificultad de acceso al software de la asignatura.

Israel Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 5/26

Page 7: ¿MATLAB? Yo uso Octave UPM

1 El problema

2 Posibles soluciones

3 Solución adoptada

4 Experiencias en la docencia

5 El futuro

6 Para llevar

Israel Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 6/26

Page 8: ¿MATLAB? Yo uso Octave UPM

Requisitos de la solución

Más gente que en la guerra

Israel Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 7/26

Page 9: ¿MATLAB? Yo uso Octave UPM

Requisitos de la solución

Más gente que en la guerra

¿Podemos usar software libre?

Todos los grupos de matrícula reciben los mismos contenidos yrealizan las mismas pruebas de evaluación.

Algunos grupos de matrícula van a emplear siempre MATLAB.

Israel Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 7/26

Page 10: ¿MATLAB? Yo uso Octave UPM

Soluciones exploradas

Lenguajes no compatibles con MATLAB

Descartado por las necesidades de coordinación. Esto excluye Python,Scilab, Julia, etc.

Lenguajes compatibles con MATLAB

Octave. Descartado en cursos anteriores por la falta de interfazgráfica.

FreeMat. Descartado por compatibilidad limitada con MATLAB.

Israel Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 8/26

Page 11: ¿MATLAB? Yo uso Octave UPM

Soluciones exploradas

Lenguajes no compatibles con MATLAB

Descartado por las necesidades de coordinación. Esto excluye Python,Scilab, Julia, etc.

Lenguajes compatibles con MATLAB

Octave. Descartado en cursos anteriores por la falta de interfazgráfica.

FreeMat. Descartado por compatibilidad limitada con MATLAB.

Octave GUI

A finales de 2011 comenzó el desarrollo de una GUI para Octave.Mejorada durante el Google Summer of Code 2012.

Israel Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 8/26

Page 12: ¿MATLAB? Yo uso Octave UPM

1 El problema

2 Posibles soluciones

3 Solución adoptada

4 Experiencias en la docencia

5 El futuro

6 Para llevar

Israel Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 9/26

Page 13: ¿MATLAB? Yo uso Octave UPM

Intefaz gráfica con Octave

Octave en Mayo de 2012

Israel Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 10/26

Page 14: ¿MATLAB? Yo uso Octave UPM

Intefaz gráfica con Octave

Buena pinta, pero en la versión de mayo todavía...

Muchos detalles por pulir

Muy inestable

Ausencia de depurador

Difícil de compilar en Windows, muy Ubuntu-céntrico

Israel Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 11/26

Page 15: ¿MATLAB? Yo uso Octave UPM

Intefaz gráfica con Octave

Buena pinta, pero en la versión de mayo todavía...

Muchos detalles por pulir

Muy inestable

Ausencia de depurador

Difícil de compilar en Windows, muy Ubuntu-céntrico

Desarrollo propio

En mayo comienzo el desarrollo propio para solventar estos problemas.Algunos parches se integran dentro del Octave “oficial”.

Israel Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 11/26

Page 16: ¿MATLAB? Yo uso Octave UPM

Octave UPM

Israel Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 12/26

Page 17: ¿MATLAB? Yo uso Octave UPM

Octave UPM

Características de Octave UPM también presentes en Octave GUI

Editor con auto-completado de código

Terminal (mejorado en la versión Windows de Octave UPM)

Visor de variables (editable en Octave UPM)

Histórico de comandos

Israel Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 13/26

Page 18: ¿MATLAB? Yo uso Octave UPM

Octave UPM

Características de Octave UPM también presentes en Octave GUI

Editor con auto-completado de código

Terminal (mejorado en la versión Windows de Octave UPM)

Visor de variables (editable en Octave UPM)

Histórico de comandos

Características de Octave UPM no presentes en Octave GUI

Depurador (con selector de pila de variables)

Opciones de configuración para cada una de las herramientas (fuentes,etc) y de gráficos

Opciones de configuración de compatibilidad con MATLAB

Interrupción de la ejecución en bucles infinitos

Auto-guardado de ficheros para recuperar en caso de crash

Muy estable (arregladas muchas condiciones de carrera del GUI)

Israel Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 13/26

Page 19: ¿MATLAB? Yo uso Octave UPM

¿Dónde puedo obtenerlo?

Página principal

http://mat.caminos.upm.es/octave

Plataformas

Disponible para

Windows (instalador)

Paquetes para Ubuntu 12.04 y 12.10 (compatibles con Debian Testing)

ArchLinux (en el Arch User Repository)

Israel Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 14/26

Page 20: ¿MATLAB? Yo uso Octave UPM

¿Por qué debería obtenerlo?

Si buscas un programa libre como alternativa a MATLAB, pero que no

requiera cambiar ni una línea de tu código MATLAB, que seafácilmente instalable en Windows, y que esté también disponible paraotros sistemas, esto es lo que buscas.

Israel Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 15/26

Page 21: ¿MATLAB? Yo uso Octave UPM

¿Por qué debería obtenerlo?

Si buscas un programa libre como alternativa a MATLAB, pero que no

requiera cambiar ni una línea de tu código MATLAB, que seafácilmente instalable en Windows, y que esté también disponible paraotros sistemas, esto es lo que buscas.

La característica principal es la compatibilidad con MATLAB. Se puedeusar como sustituto de MATLAB de manera transparente.Cualquier fichero fuente M o binario MAT se puede cargar directamente enOctave UPM.Cualquier fichero MAT guardado con Octave UPM se puede cargardirectamente en MATLAB.

Israel Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 15/26

Page 22: ¿MATLAB? Yo uso Octave UPM

1 El problema

2 Posibles soluciones

3 Solución adoptada

4 Experiencias en la docencia

5 El futuro

6 Para llevar

Israel Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 16/26

Page 23: ¿MATLAB? Yo uso Octave UPM

Docencia en la Escuela de Caminos

Asignaturas en las que se usa MATLAB

Informática (1er curso)

Ecuaciones Diferenciales (2º curso)

Mecánica Computacional (3er curso)

Experiencias hasta ahora

200 alumnos en la asignatura Informática, mientras otros >200 usabanMATLAB, en la misma asignatura, con el mismo temario, usando el mismocódigo de ejemplo y las mismas soluciones a los ejercicios.Inigualable banco de pruebas.

Israel Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 17/26

Page 24: ¿MATLAB? Yo uso Octave UPM

Lecciones aprendidas

Los usuarios de Octave UPM suelen usar más sus portátiles que los deMATLAB.

El desarrollo multi-plataforma es problemático, incluso entre diferentesversiones de Windows.

La compatibilidad de Octave con MATLAB es muy alta, aunqueexisten diferencias a tener en cuenta.

Muchos usuarios demandan una versión para Mac OS X.

Israel Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 18/26

Page 25: ¿MATLAB? Yo uso Octave UPM

¿Pero de verdad es compatible?

Diferencias encontradas

Detalles completos enhttp://mat.caminos.upm.es/octave/compatibilidad.html

Diferencias entre operaciones con enteros y single

Broadcasting automático en suma de matrices y vectores

Diferencias en códigos de formato con sprintf

Diferencias en fplot

Israel Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 19/26

Page 26: ¿MATLAB? Yo uso Octave UPM

¿Pero de verdad es compatible?

Diferencias encontradas

Detalles completos enhttp://mat.caminos.upm.es/octave/compatibilidad.html

Diferencias entre operaciones con enteros y single

Broadcasting automático en suma de matrices y vectores

Diferencias en códigos de formato con sprintf

Diferencias en fplot

Qué no se puede hacer

Programación orientada a objetos usando classdef

Desarrollar GUIs con los comandos de MATLAB

Usar las toolboxes “oficiales” de MATLAB (pero tienes muchospaquetes disponibles en Octave).

Israel Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 19/26

Page 27: ¿MATLAB? Yo uso Octave UPM

Qué sí se puede hacer

Reutiliza tu código MATLAB sin cambiar una coma

Programación imperativa usando for, if, while, funciones, etc.

Gráficos.

Importación y exportación de datos (ficheros de texto, ficheros MAT).

Estructuras de datos, matrices, etc.

Tratamiento de imágenes.

En general, cualquier cosa, excepto los comandos en la transparenciaanterior.

Israel Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 20/26

Page 28: ¿MATLAB? Yo uso Octave UPM

Ritmo del proyecto

2000 descargas de la versión Windows desde Mayo de 2012.

21252 SLOC heredadas de Octave, 6139 SLOC de nuevas

funcionalidades (22 %)

244 commits y 8 releases desde mayo de 2012.

>7700 resultados de búsqueda en Google (query “Octave UPM”).

Israel Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 21/26

Page 29: ¿MATLAB? Yo uso Octave UPM

1 El problema

2 Posibles soluciones

3 Solución adoptada

4 Experiencias en la docencia

5 El futuro

6 Para llevar

Israel Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 22/26

Page 30: ¿MATLAB? Yo uso Octave UPM

El proyecto de software libre

Relaciones con la comunidad de Octave

Integrar las funcionalidades de Octave UPM en Octave.

Si todo va bien, eliminar la necesidad de tener un proyecto paralelo.

Israel Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 23/26

Page 31: ¿MATLAB? Yo uso Octave UPM

El proyecto de software libre

Relaciones con la comunidad de Octave

Integrar las funcionalidades de Octave UPM en Octave.

Si todo va bien, eliminar la necesidad de tener un proyecto paralelo.

Pero si la integración no es posible...

Atraer a más desarrolladores y usuarios. Si quieres participar, entra en

http://mat.caminos.upm.es/octave

https://forja.rediris.es/projects/octaveupm/

Israel Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 23/26

Page 32: ¿MATLAB? Yo uso Octave UPM

Cosas que quedan por hacer

Instrumentar el entorno de programación, para recoger estadísticas decómo se usa el programa

Posible proyecto de innovación en la docencia de programación para

estudiantes de Ingeniería

Incorporar un gestor de paquetes, para instalar y desinstalar paquetesa golpe de ratón

Interfaz gráfica para el perfilador de Octave

Analizador estático de código MATLAB/Octave, e integración con elentorno

Paquete de instalación para Mac OS X

Israel Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 24/26

Page 33: ¿MATLAB? Yo uso Octave UPM

1 El problema

2 Posibles soluciones

3 Solución adoptada

4 Experiencias en la docencia

5 El futuro

6 Para llevar

Israel Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 25/26

Page 34: ¿MATLAB? Yo uso Octave UPM

Para llevar

Qué

Octave UPM es una versiónpersonalizada de Octave,altamente compatible con

MATLAB. Disponible paraWindows y GNU/Linux.

Por qué

MATLAB es ubicuo en ladocencia de la programación enIngenierías. Pero la mayoría dealumnos no pueden usar el

software en sus ordenadores

personales.

Dónde

Encuentra todos los detalles sobre Octave UPM y enlaces para la descargaen http://mat.caminos.upm.es/octave

Israel Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 26/26