Download - ¿MATLAB? Yo uso Octave UPM
¿MATLAB? Yo uso Octave UPM
Israel Herraiz
Universidad Politécnica de Madrid
Consigue esta presentación en
http://slideshare.net/herraiz/matlab-yo-uso-octave-upm
Israel Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 1/26
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
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
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
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
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
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
Requisitos de la solución
Más gente que en la guerra
Israel Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 7/26
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
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
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
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
Intefaz gráfica con Octave
Octave en Mayo de 2012
Israel Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 10/26
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
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
Octave UPM
Israel Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 12/26
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
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
¿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
¿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
¿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
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
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
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
¿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
¿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
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
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
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
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
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
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
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
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