¿MATLAB? Yo uso Octave UPM

6,106 views
5,926 views

Published on

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.

Published in: Education
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
6,106
On SlideShare
0
From Embeds
0
Number of Embeds
1,445
Actions
Shares
0
Downloads
53
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

¿MATLAB? Yo uso Octave UPM

  1. 1. ¿MATLAB? Yo uso Octave UPM Israel Herraiz Universidad Politécnica de Madrid israel.herraiz@upm.es Consigue esta presentación en http://slideshare.net/herraiz/matlab-yo-uso-octave-upmIsrael Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 1/26
  2. 2. Contenidos1 El problema2 Posibles soluciones3 Solución adoptada4 Experiencias en la docencia5 El futuro6 Para llevarIsrael Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 2/26
  3. 3. 1 El problema2 Posibles soluciones3 Solución adoptada4 Experiencias en la docencia5 El futuro6 Para llevarIsrael Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 3/26
  4. 4. Informática en CaminosContexto del problema Asignatura de Programación y Métodos Numéricos para estudiantes 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 por grupoIsrael Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 4/26
  5. 5. Limitaciones para la docencia La Universidad Politécnica de Madrid es titular de 150 licencias de MATLAB 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 con poca compatibilidad con las clasesIsrael Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 5/26
  6. 6. Limitaciones para la docencia La Universidad Politécnica de Madrid es titular de 150 licencias de MATLAB 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 con poca compatibilidad con las clasesImpacto docente claroRiesgo 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
  7. 7. 1 El problema2 Posibles soluciones3 Solución adoptada4 Experiencias en la docencia5 El futuro6 Para llevarIsrael Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 6/26
  8. 8. Requisitos de la soluciónMás gente que en la guerraIsrael Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 7/26
  9. 9. Requisitos de la soluciónMás gente que en la guerra¿Podemos usar software libre? Todos los grupos de matrícula reciben los mismos contenidos y realizan 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
  10. 10. Soluciones exploradasLenguajes no compatibles con MATLABDescartado 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 interfaz gráfica. FreeMat. Descartado por compatibilidad limitada con MATLAB.Israel Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 8/26
  11. 11. Soluciones exploradasLenguajes no compatibles con MATLABDescartado 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 interfaz gráfica. FreeMat. Descartado por compatibilidad limitada con MATLAB.Octave GUIA 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
  12. 12. 1 El problema2 Posibles soluciones3 Solución adoptada4 Experiencias en la docencia5 El futuro6 Para llevarIsrael Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 9/26
  13. 13. Intefaz gráfica con OctaveOctave en Mayo de 2012Israel Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 10/26
  14. 14. Intefaz gráfica con OctaveBuena 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éntricoIsrael Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 11/26
  15. 15. Intefaz gráfica con OctaveBuena 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éntricoDesarrollo propioEn 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
  16. 16. Octave UPMIsrael Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 12/26
  17. 17. Octave UPMCaracterí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 comandosIsrael Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 13/26
  18. 18. Octave UPMCaracterí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 comandosCaracterí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
  19. 19. ¿Dónde puedo obtenerlo?Página principalhttp://mat.caminos.upm.es/octavePlataformasDisponible 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
  20. 20. ¿Por qué debería obtenerlo?Si buscas un programa libre como alternativa a MATLAB, pero que norequiera 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
  21. 21. ¿Por qué debería obtenerlo?Si buscas un programa libre como alternativa a MATLAB, pero que norequiera 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
  22. 22. 1 El problema2 Posibles soluciones3 Solución adoptada4 Experiencias en la docencia5 El futuro6 Para llevarIsrael Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 16/26
  23. 23. Docencia en la Escuela de CaminosAsignaturas en las que se usa MATLAB Informática (1er curso) Ecuaciones Diferenciales (2º curso) Mecánica Computacional (3er curso)Experiencias hasta ahora200 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
  24. 24. Lecciones aprendidas Los usuarios de Octave UPM suelen usar más sus portátiles que los de MATLAB. El desarrollo multi-plataforma es problemático, incluso entre diferentes versiones de Windows. La compatibilidad de Octave con MATLAB es muy alta, aunque existen 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
  25. 25. ¿Pero de verdad es compatible?Diferencias encontradasDetalles 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 fplotIsrael Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 19/26
  26. 26. ¿Pero de verdad es compatible?Diferencias encontradasDetalles 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 fplotQué 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 muchos paquetes disponibles en Octave).Israel Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 19/26
  27. 27. Qué sí se puede hacerReutiliza 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 transparencia anterior.Israel Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 20/26
  28. 28. 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
  29. 29. 1 El problema2 Posibles soluciones3 Solución adoptada4 Experiencias en la docencia5 El futuro6 Para llevarIsrael Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 22/26
  30. 30. El proyecto de software libreRelaciones 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
  31. 31. El proyecto de software libreRelaciones 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
  32. 32. Cosas que quedan por hacer Instrumentar el entorno de programación, para recoger estadísticas de có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 paquetes a golpe de ratón Interfaz gráfica para el perfilador de Octave Analizador estático de código MATLAB/Octave, e integración con el entorno Paquete de instalación para Mac OS XIsrael Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 24/26
  33. 33. 1 El problema2 Posibles soluciones3 Solución adoptada4 Experiencias en la docencia5 El futuro6 Para llevarIsrael Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 25/26
  34. 34. Para llevar Qué Por qué Octave UPM es una versión MATLAB es ubicuo en la personalizada de Octave, docencia de la programación en altamente compatible con Ingenierías. Pero la mayoría de MATLAB. Disponible para alumnos no pueden usar el Windows y GNU/Linux. software en sus ordenadores personales.DóndeEncuentra todos los detalles sobre Octave UPM y enlaces para la descargaen http://mat.caminos.upm.es/octaveIsrael Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 26/26

×