SlideShare una empresa de Scribd logo
1 de 34
Descargar para leer sin conexión
¿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-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 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
        grupo




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 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 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 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 clases

Impacto docente claro
Riesgo de conflictos entre grupos de laboratorio de diferentes escuelas.
Los alumnos no compran la licencia de estudiantes, e intentan
conseguirla por otros medios.
Muchos alumnos no practican en su propio ordenador, debido a la
dificultad 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 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
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 interfaz
        grá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 interfaz
        grá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 sea
fácilmente instalable en Windows, y que esté también disponible para
otros 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 sea
fácilmente instalable en Windows, y que esté también disponible para
otros sistemas, esto es lo que buscas.

La característica principal es la compatibilidad con MATLAB. Se puede
usar como sustituto de MATLAB de manera transparente.
Cualquier fichero fuente M o binario MAT se puede cargar directamente en
Octave UPM.
Cualquier fichero MAT guardado con Octave UPM se puede cargar
directamente 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 usaban
MATLAB, en la misma asignatura, con el mismo temario, usando el mismo
có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 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
¿Pero de verdad es compatible?

Diferencias encontradas
Detalles completos en
http://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 en
http://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 muchos
        paquetes 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 transparencia
        anterior.




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 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 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é                                    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ónde
Encuentra todos los detalles sobre Octave UPM y enlaces para la descarga
en http://mat.caminos.upm.es/octave



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

Más contenido relacionado

La actualidad más candente

Resolucion de un circuito lrc
Resolucion de un circuito lrcResolucion de un circuito lrc
Resolucion de un circuito lrc
Stalin Amaya
 
Sesión 1: Python
Sesión 1: PythonSesión 1: Python
Sesión 1: Python
maluacsa
 
Evidencias de sesión 4 Curso Python
Evidencias de  sesión 4 Curso PythonEvidencias de  sesión 4 Curso Python
Evidencias de sesión 4 Curso Python
maluacsa
 
Unidad Iii Generalidades Sobre Algoritmos
Unidad Iii Generalidades Sobre AlgoritmosUnidad Iii Generalidades Sobre Algoritmos
Unidad Iii Generalidades Sobre Algoritmos
marthaill10
 
Introduccion y operaciones basicas (matlab)
Introduccion y operaciones basicas (matlab)Introduccion y operaciones basicas (matlab)
Introduccion y operaciones basicas (matlab)
Gino Pannillo
 

La actualidad más candente (20)

Resolucion de un circuito lrc
Resolucion de un circuito lrcResolucion de un circuito lrc
Resolucion de un circuito lrc
 
Programacion en matlab
Programacion en matlabProgramacion en matlab
Programacion en matlab
 
Sesión 1: Python
Sesión 1: PythonSesión 1: Python
Sesión 1: Python
 
Introduccion a Matlab (Laboratorio de Control )
Introduccion a Matlab (Laboratorio de Control )Introduccion a Matlab (Laboratorio de Control )
Introduccion a Matlab (Laboratorio de Control )
 
Evidencias de sesión 4 Curso Python
Evidencias de  sesión 4 Curso PythonEvidencias de  sesión 4 Curso Python
Evidencias de sesión 4 Curso Python
 
Metodos de programacion estructurada
Metodos de programacion estructuradaMetodos de programacion estructurada
Metodos de programacion estructurada
 
Curso matlab básico semestre 1 - 2017
Curso matlab básico   semestre 1 - 2017Curso matlab básico   semestre 1 - 2017
Curso matlab básico semestre 1 - 2017
 
Unidad Iii Generalidades Sobre Algoritmos
Unidad Iii Generalidades Sobre AlgoritmosUnidad Iii Generalidades Sobre Algoritmos
Unidad Iii Generalidades Sobre Algoritmos
 
Modulo de algoritmo_-_programacion
Modulo de algoritmo_-_programacionModulo de algoritmo_-_programacion
Modulo de algoritmo_-_programacion
 
Métodos y Funciones - Java - Algoritmia
Métodos y Funciones - Java - AlgoritmiaMétodos y Funciones - Java - Algoritmia
Métodos y Funciones - Java - Algoritmia
 
Fundamentos de Analisi y Diseño de Algoritmos FADA
Fundamentos de Analisi y Diseño de Algoritmos FADAFundamentos de Analisi y Diseño de Algoritmos FADA
Fundamentos de Analisi y Diseño de Algoritmos FADA
 
Matlab (1)
Matlab (1)Matlab (1)
Matlab (1)
 
Lenguaje de-programacion-c++
Lenguaje de-programacion-c++Lenguaje de-programacion-c++
Lenguaje de-programacion-c++
 
Ejercicios3
Ejercicios3Ejercicios3
Ejercicios3
 
Fundamentos de Programacion - Unidad 3 Introduccion a la programacion
Fundamentos de Programacion - Unidad 3 Introduccion a la programacionFundamentos de Programacion - Unidad 3 Introduccion a la programacion
Fundamentos de Programacion - Unidad 3 Introduccion a la programacion
 
Introduccion y operaciones basicas (matlab)
Introduccion y operaciones basicas (matlab)Introduccion y operaciones basicas (matlab)
Introduccion y operaciones basicas (matlab)
 
Variables y constantes en matlab
Variables y constantes en matlabVariables y constantes en matlab
Variables y constantes en matlab
 
Diapositivas matlab
Diapositivas matlabDiapositivas matlab
Diapositivas matlab
 
Guia para usar matlab
Guia para usar matlabGuia para usar matlab
Guia para usar matlab
 
Diagrama de flujo
Diagrama de flujoDiagrama de flujo
Diagrama de flujo
 

Destacado

Guia rapida de matlab (comandos basicos, graficacion y programacion)
Guia rapida de matlab (comandos basicos, graficacion y programacion)Guia rapida de matlab (comandos basicos, graficacion y programacion)
Guia rapida de matlab (comandos basicos, graficacion y programacion)
morones.om
 
Clase de turbo C
Clase de turbo CClase de turbo C
Clase de turbo C
tacubomx
 
El software del computador (informe)
El software del computador (informe)El software del computador (informe)
El software del computador (informe)
moncayocris
 
Simulación de reactores químicos con octave
Simulación de reactores químicos con octaveSimulación de reactores químicos con octave
Simulación de reactores químicos con octave
CAChemE
 
1.4 software numerico
1.4 software numerico1.4 software numerico
1.4 software numerico
morenito9001
 
Cuadro sinoptico lenguaje de programacion
Cuadro sinoptico lenguaje de programacionCuadro sinoptico lenguaje de programacion
Cuadro sinoptico lenguaje de programacion
tacubomx
 

Destacado (20)

Introduccion al Octave
Introduccion al OctaveIntroduccion al Octave
Introduccion al Octave
 
Reactor flujo piston en MATLAB - Octave - Craqueo termico
Reactor flujo piston en MATLAB - Octave - Craqueo termicoReactor flujo piston en MATLAB - Octave - Craqueo termico
Reactor flujo piston en MATLAB - Octave - Craqueo termico
 
Reactor de flujo piston con MATLAB Octave
Reactor de flujo piston con MATLAB OctaveReactor de flujo piston con MATLAB Octave
Reactor de flujo piston con MATLAB Octave
 
Guia rapida de matlab (comandos basicos, graficacion y programacion)
Guia rapida de matlab (comandos basicos, graficacion y programacion)Guia rapida de matlab (comandos basicos, graficacion y programacion)
Guia rapida de matlab (comandos basicos, graficacion y programacion)
 
Clase de turbo C
Clase de turbo CClase de turbo C
Clase de turbo C
 
El software del computador (informe)
El software del computador (informe)El software del computador (informe)
El software del computador (informe)
 
Simulación de reactores químicos con octave
Simulación de reactores químicos con octaveSimulación de reactores químicos con octave
Simulación de reactores químicos con octave
 
matlab
matlabmatlab
matlab
 
Condicionales multiples o anidadas
Condicionales multiples o anidadasCondicionales multiples o anidadas
Condicionales multiples o anidadas
 
Expandir
ExpandirExpandir
Expandir
 
Métodos numéricos- Métodos de Aproximación
Métodos numéricos- Métodos de AproximaciónMétodos numéricos- Métodos de Aproximación
Métodos numéricos- Métodos de Aproximación
 
Estructuras
EstructurasEstructuras
Estructuras
 
1.4 software numerico
1.4 software numerico1.4 software numerico
1.4 software numerico
 
Presentación Métodos Numericos
Presentación Métodos NumericosPresentación Métodos Numericos
Presentación Métodos Numericos
 
Laboratorio metodos-numericos-unsch-01
Laboratorio metodos-numericos-unsch-01Laboratorio metodos-numericos-unsch-01
Laboratorio metodos-numericos-unsch-01
 
Metodo Numerico
Metodo NumericoMetodo Numerico
Metodo Numerico
 
Cuadro sinoptico lenguaje de programacion
Cuadro sinoptico lenguaje de programacionCuadro sinoptico lenguaje de programacion
Cuadro sinoptico lenguaje de programacion
 
Codigo octave
Codigo octaveCodigo octave
Codigo octave
 
Introducción a los Métodos Numéricos
Introducción a los Métodos NuméricosIntroducción a los Métodos Numéricos
Introducción a los Métodos Numéricos
 
Introducción a los métodos númericos Clase 1
Introducción a los métodos númericos Clase 1Introducción a los métodos númericos Clase 1
Introducción a los métodos númericos Clase 1
 

Similar a ¿MATLAB? Yo uso Octave UPM

Herramientas de software para investigacion operativa
Herramientas de software para investigacion operativaHerramientas de software para investigacion operativa
Herramientas de software para investigacion operativa
Lois Q
 

Similar a ¿MATLAB? Yo uso Octave UPM (20)

Migración a Octave de la UGR
Migración a Octave de la UGRMigración a Octave de la UGR
Migración a Octave de la UGR
 
Informe matlab
Informe matlabInforme matlab
Informe matlab
 
Lenguaje de Alto Nivel (I Bimestre)
Lenguaje de Alto Nivel (I Bimestre)Lenguaje de Alto Nivel (I Bimestre)
Lenguaje de Alto Nivel (I Bimestre)
 
Plataforma de apoyo al proceso de enseñanza-aprendizaje de la algoritmización...
Plataforma de apoyo al proceso de enseñanza-aprendizaje de la algoritmización...Plataforma de apoyo al proceso de enseñanza-aprendizaje de la algoritmización...
Plataforma de apoyo al proceso de enseñanza-aprendizaje de la algoritmización...
 
Prohibiendo los bucles: Hacia la programación del siglo XXI.
Prohibiendo los bucles:  Hacia la programación del siglo XXI.Prohibiendo los bucles:  Hacia la programación del siglo XXI.
Prohibiendo los bucles: Hacia la programación del siglo XXI.
 
LIDIA
LIDIALIDIA
LIDIA
 
matlab
matlabmatlab
matlab
 
Intro a matlab
Intro a matlabIntro a matlab
Intro a matlab
 
I Talc Expoproyecto 2007
I Talc   Expoproyecto 2007I Talc   Expoproyecto 2007
I Talc Expoproyecto 2007
 
Python para ingenieros como alternativa a matlab
Python para ingenieros como alternativa a matlabPython para ingenieros como alternativa a matlab
Python para ingenieros como alternativa a matlab
 
Derive 6.0 Software Matemático
Derive 6.0 Software MatemáticoDerive 6.0 Software Matemático
Derive 6.0 Software Matemático
 
Herramientas de software para investigacion operativa
Herramientas de software para investigacion operativaHerramientas de software para investigacion operativa
Herramientas de software para investigacion operativa
 
Curso basico c sharp
Curso basico c sharpCurso basico c sharp
Curso basico c sharp
 
Diseño de Algoritmos Paralelos.pptx
Diseño de Algoritmos Paralelos.pptxDiseño de Algoritmos Paralelos.pptx
Diseño de Algoritmos Paralelos.pptx
 
Curso basico c sharp
Curso basico c sharpCurso basico c sharp
Curso basico c sharp
 
Tema i
Tema iTema i
Tema i
 
Seminario
SeminarioSeminario
Seminario
 
Seminario
SeminarioSeminario
Seminario
 
Seminario
SeminarioSeminario
Seminario
 
Software libre en la ingeniería.Charla2
Software libre en la ingeniería.Charla2Software libre en la ingeniería.Charla2
Software libre en la ingeniería.Charla2
 

Más de Israel Herraiz

Public key cryptography
Public key cryptographyPublic key cryptography
Public key cryptography
Israel Herraiz
 

Más de Israel Herraiz (9)

intensive metrics software evolution
intensive metrics software evolutionintensive metrics software evolution
intensive metrics software evolution
 
Public Key Cryptography
Public Key CryptographyPublic Key Cryptography
Public Key Cryptography
 
Statistical Distribution of Metrics
Statistical Distribution of MetricsStatistical Distribution of Metrics
Statistical Distribution of Metrics
 
The Ultimate Debian Database
The Ultimate Debian DatabaseThe Ultimate Debian Database
The Ultimate Debian Database
 
Evaluating the presence and impact of bias in bug-fix datasets
Evaluating the presence and impact of bias in bug-fix datasetsEvaluating the presence and impact of bias in bug-fix datasets
Evaluating the presence and impact of bias in bug-fix datasets
 
Software size distribution - Why we always underestimate software cost
Software size distribution - Why we always underestimate software costSoftware size distribution - Why we always underestimate software cost
Software size distribution - Why we always underestimate software cost
 
The dynamics of software evolution - EVOLUMONS 2011
The dynamics of software evolution - EVOLUMONS 2011The dynamics of software evolution - EVOLUMONS 2011
The dynamics of software evolution - EVOLUMONS 2011
 
Public key cryptography
Public key cryptographyPublic key cryptography
Public key cryptography
 
Mining Software Repositories
Mining Software RepositoriesMining Software Repositories
Mining Software Repositories
 

Último

5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
MiNeyi1
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
El Fortí
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
UPTAIDELTACHIRA
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficios
JonathanCovena1
 
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
MiNeyi1
 

Último (20)

GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
 
Abril 2024 - Maestra Jardinera Ediba.pdf
Abril 2024 -  Maestra Jardinera Ediba.pdfAbril 2024 -  Maestra Jardinera Ediba.pdf
Abril 2024 - Maestra Jardinera Ediba.pdf
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonables
 
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdf
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficios
 
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
 

¿MATLAB? Yo uso Octave UPM

  • 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-upm Israel Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 1/26
  • 2. 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
  • 3. 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
  • 4. Informática en Caminos Contexto 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 grupo Israel Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 4/26
  • 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 clases Israel Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 5/26
  • 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 clases Impacto docente claro Riesgo de conflictos entre grupos de laboratorio de diferentes escuelas. Los alumnos no compran la licencia de estudiantes, e intentan conseguirla por otros medios. Muchos alumnos no practican en su propio ordenador, debido a la dificultad de acceso al software de la asignatura. Israel Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 5/26
  • 7. 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
  • 8. Requisitos de la solución Más gente que en la guerra Israel Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 7/26
  • 9. 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 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. 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 interfaz gráfica. FreeMat. Descartado por compatibilidad limitada con MATLAB. Israel Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 8/26
  • 11. 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 interfaz grá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
  • 12. 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
  • 13. Intefaz gráfica con Octave Octave en Mayo de 2012 Israel Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 10/26
  • 14. 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
  • 15. 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
  • 16. Octave UPM Israel Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 12/26
  • 17. 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
  • 18. 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
  • 19. ¿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
  • 20. ¿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 sea fácilmente instalable en Windows, y que esté también disponible para otros sistemas, esto es lo que buscas. Israel Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 15/26
  • 21. ¿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 sea fácilmente instalable en Windows, y que esté también disponible para otros sistemas, esto es lo que buscas. La característica principal es la compatibilidad con MATLAB. Se puede usar como sustituto de MATLAB de manera transparente. Cualquier fichero fuente M o binario MAT se puede cargar directamente en Octave UPM. Cualquier fichero MAT guardado con Octave UPM se puede cargar directamente en MATLAB. Israel Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 15/26
  • 22. 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
  • 23. 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 usaban MATLAB, en la misma asignatura, con el mismo temario, usando el mismo có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. 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. ¿Pero de verdad es compatible? Diferencias encontradas Detalles completos en http://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
  • 26. ¿Pero de verdad es compatible? Diferencias encontradas Detalles completos en http://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 muchos paquetes disponibles en Octave). Israel Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 19/26
  • 27. 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 transparencia anterior. Israel Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 20/26
  • 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. 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
  • 30. 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
  • 31. 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
  • 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 X Israel Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 24/26
  • 33. 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
  • 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ónde Encuentra todos los detalles sobre Octave UPM y enlaces para la descarga en http://mat.caminos.upm.es/octave Israel Herraiz, UPM ¿MATLAB? Yo uso Octave UPM 26/26