Cálculo científico con Octave en las aulas de la UGR · Calculo´ cient´ıfico con Octave en...

18
Octave Bibliograf´ ıa y licencia alculo cient´ ıfico con Octave en las aulas de la UGR ´ Oscar S´ anchez Dpto. Mat. Aplicada UGR Jornadas de Software Libre UGR 2018. 28 de Septiembre de 2018 ´ Oscar S´ anchez alculo cient´ ıfico con Octave en las aulas de la UGR

Transcript of Cálculo científico con Octave en las aulas de la UGR · Calculo´ cient´ıfico con Octave en...

  • OctaveBibliograf́ıa y licencia

    Cálculo cient́ıfico con Octave en las aulas de laUGRÓscar Sánchez

    Dpto. Mat. Aplicada UGRJornadas de Software Libre UGR 2018.28 de Septiembre de 2018

    Óscar Sánchez Cálculo cient́ıfico con Octave en las aulas de la UGR

  • OctaveBibliograf́ıa y licenciaDescripción de OctaveDefiniciónLenguaje de programación de alto nivel primordialmenteorientado al cálculo numéricoCaracteŕısticas básicas

    1 Software de distribución libre: http://www.octave.org2 Disponible para multitud de plataformas (Windows, Mac,Linux, Android,...)3 Mucha información accesible [3, 6, 7, 8]4 Su lenguaje es altamente compatible con MATLAB

    Comparativa con otros paqueteshttp://en.wikipedia.org/wiki/Comparison of numerical analysis softwareÓscar Sánchez Cálculo cient́ıfico con Octave en las aulas de la UGR

    http://www.octave.orghttp://en.wikipedia.org/wiki/Comparison_of_numerical_analysis_software

  • OctaveBibliograf́ıa y licenciaConsecuencias de su compatibilidad con MATLABMatlab es un programa de uso generalizado en ingenieŕıa ymatemáticas, por lo que podemos adaptar mucho materialdesarrollado en este y para este lenguaje.Su lenguaje se caracteriza por ser muy cómodo para eltrabajo matricial y vectorial.Los lenguajes son tan compatibles que:a) podemos adaptar el material originalmente escrito paraMATLAB [7] tan facilmente,b) que algunos textos ya vienen pensados para MATLAB yOctave. [3, 8].

    Óscar Sánchez Cálculo cient́ıfico con Octave en las aulas de la UGR

  • OctaveBibliograf́ıa y licenciaConsecuencias de su compatibilidad con MATLABPodemos aprovechar complementos desarrolladosoriginalmente para MATLAB. Sirva como ejemplo el paquetemcode para incluir en latex códigos MATLAB en LATEX:

    1 function y = atrozos(x)2 % Definicion de una funcion a trozos:3 % exp(x)-1 si x

  • OctaveBibliograf́ıa y licenciaOctave: programa de consola en sus oŕıgenesOctave, como tal programa, se dirige desde una consola en el quese lanzan comandos escritos tras el prompt “octave − .... : ... >”,

    En el ambiente educativo es aconsejable el uso de un programaque proporcione un entorno gráfico amigable (GUI).Óscar Sánchez Cálculo cient́ıfico con Octave en las aulas de la UGR

  • OctaveBibliograf́ıa y licenciaOctave tiene hoy un GUI nativoHace unos años hab́ıa que escoger alguno de los GUIs existentes:QtOctave, GUI Octave, DomainMathIDE, Mirai Math, Octave UPM, ...

    ...Problemas en su uso en educación: instalación, plataformas,...Octave desde su versión 4.0 proporciona una interfaz gráficanativa bastante cómodaFacilita y estandariza la instalación http://www.octave.orgPosibilita la elaboración de material docente.

    Óscar Sánchez Cálculo cient́ıfico con Octave en las aulas de la UGR

    http://www.octave.org

  • OctaveBibliograf́ıa y licenciaFactores que motivaron el uso de Octave:Experiencia previa con MATLAB (UC3M).Introducción de los nuevos planes de estudio 2010 (Grados).Plan de migración a software libre UGR (OSL).Desde entonces se ha empleado en distintos contextos:Grados (Matemáticas, Ingenieŕıa de Tecnoloǵıas deTelecomunicación y Doble Grado en Ingenieŕıa Civil yAdministración y Dirección de Empresas).Máster y Doctorado FisyMat.Activ. Form. Doc. en Centros, Titulaciones y Departamentos.

    Óscar Sánchez Cálculo cient́ıfico con Octave en las aulas de la UGR

    http://osl.ugr.es/tag/migracion/https://www.ugr.es/~jjmnieto/octave/

  • OctaveBibliograf́ıa y licenciaConsecuencia de este trabajo surge una gran cantidad de materialdocente al que hemos dado forma (manual y códigos) y se hacolgado en el repositorio de GitHub Calculo-Cientifico-OctaveEn el texto se tratan problemas de:resolución de ecuaciones y sistemas,interpolación y ajuste por ḿınimos cuadrados,autovalores,derivación y cuadratura numérica,y ecuaciones diferenciales.+ casi un centenar de ejercicios propuestos.

    Óscar Sánchez Cálculo cient́ıfico con Octave en las aulas de la UGR

    https://github.com/oscarsanchezromero/Calculo-Cientifico-Octave/

  • OctaveBibliograf́ıa y licenciaDescripción de contenidosObjetivos varios:Revisión de métodos numéricos básicos.Difundir el uso de Octave (resolución con comandos propios).Elaborar una pequeña libreŕıa de códigos con los algoritmosmás usuales (programación adaptada)Mostrar el alcance del cálculo en nuestro d́ıa a d́ıa y enotras ciencias

    Óscar Sánchez Cálculo cient́ıfico con Octave en las aulas de la UGR

  • OctaveBibliograf́ıa y licenciaOctave: primeros pasosEjemplo 1: mecanismo de obtención del NIF.Se calcula el resto de dividir el número del DNI entre 23Al resultado (un número entero entre 0 y 22) se le asignauna letra mediante la siguiente tabla:

    0→ T 1→ R 2→W 3→ A 4→ G 5→ M6→ Y 7→ F 8→ P 9→ D 10→ X 11→ B12→ N 13→ J 14→ Z 15→ S 16→ Q 17→ V18→ H 19→ L 20→ C 21→ K 22→ E

    que corresponderá a su letra del NIF. (nif.m)

    Óscar Sánchez Cálculo cient́ıfico con Octave en las aulas de la UGR

    https://github.com/oscarsanchezromero/Calculo-Cientifico-Octave

  • OctaveBibliograf́ıa y licenciaOctave: laboratorio de matricesEjemplo 2: (

    0 34 5

    ) (xy

    ) = ( 23

    )(

    0 3 24 5 3

    )F1 → F2−→

    (4 5 30 3 2

    )

    Óscar Sánchez Cálculo cient́ıfico con Octave en las aulas de la UGR

  • OctaveBibliograf́ıa y licenciaOctave, un entorno de cálculo vectorialOctave es un entorno de cálculo vectorial lo que puede despistaral principiante.Ejemplo 3: Programación standard de una función a trozos

    f (x) = { ex − 1 si x 0

    1 function y = atrozos(x)2 % Definicion de una funcion a trozos:3 % exp(x)-1 si x

  • OctaveBibliograf́ıa y licenciaOctave, un entorno de cálculo vectorialf (x) = { (ex − 1) si x 0Programación vectorizada de una función a trozos1 function y = atrozosvect(x)2 % Definicion de una funcion a trozos:3 % exp(x)-1 si x

  • OctaveBibliograf́ıa y licenciaOctave, herramienta para generar animacionesEjemplo 4: Simulación de trayectoria de una pelota de Golf.(scripttirosbola.m)

    11

    0

    3

    Óscar Sánchez Cálculo cient́ıfico con Octave en las aulas de la UGR

    https://github.com/oscarsanchezromero/Calculo-Cientifico-Octave

  • OctaveBibliograf́ıa y licencia

    (tiro)

    Figura: Pelicula generada a partir de imagenes de OctaveÓscar Sánchez Cálculo cient́ıfico con Octave en las aulas de la UGR

    pelicula.mpegMedia File (video/mpeg)

  • OctaveBibliograf́ıa y licenciaRepositorio de paquetes externos de Octave.http://octave.sourceforge.net/index.htmlPágina sobre adaptación de códigos de Matlab a Octave.http://wiki.octave.org/FAQ#Porting programs from Matlab to OctaveBORREL, G., Introducción informal a Matlab y Octave,https://www.dc.uba.ar/materias/escuela-complutense/2012/CursoMatlabguillemDELGADO, A., NIETO, J.J., ROBLES-PÉREZ, A., SÁNCHEZ, O.,Métodos numéricos básicos con Octavehttps://github.com/oscarsanchezromero/Calculo-Cientifico-Octavehttps://www.ugr.es/˜jjmnieto/MNBOctave.htmlEATON, J.W., Octave, A high-level interactive language fornumerical computantions (manual completo) Versión HTML, VersiónPDF. También disponible en la documentación que Octaveproporciona tras su instalación.Óscar Sánchez Cálculo cient́ıfico con Octave en las aulas de la UGR

    http://octave.sourceforge.net/index.htmlhttp://wiki.octave.org/FAQ#Porting_programs_from_Matlab_to_Octavehttp://webserver.dmt.upm.es/media/files/cursomo.pdfhttp://webserver.dmt.upm.es/media/files/cursomo.pdfhttps://github.com/oscarsanchezromero/Calculo-Cientifico-Octavehttps://www.ugr.es/~jjmnieto/MNBOctave.htmlhttp://www.octave.org/doc/interpreter/http://www.gnu.org/software/octave/octave.pdfhttp://www.gnu.org/software/octave/octave.pdf

  • OctaveBibliograf́ıa y licenciaLONG, P. J. G., , Introduction to Octave,http:www-mdp.eng.cam.ac.uk/web/CD/engapps/octave/octavetut.pdfLEVEQUE R., Finite Difference Methods for Ordinary and PartialDifferential Equations, SIAM, Philadelphia 2007. Materialcomplementario en la web:http://faculty.washington.edu/rjl/fdmbook/QUARTERONI A. , SALERI. F.: Cálculo cient́ıfico con MATLAB yOctave. Springer-Verlag Italia, Milano 2006.Accesible como ebook desde la UGRhttp://www.springerlink.com/content/gm7521/#section=391804&page=1

    Óscar Sánchez Cálculo cient́ıfico con Octave en las aulas de la UGR

    http://www-mdp.eng.cam.ac.uk/web/CD/engapps/octave/octavetut.pdfhttp://faculty.washington.edu/rjl/fdmbook/http://www.springerlink.com/content/gm7521/#section=391804&page=1

  • OctaveBibliograf́ıa y licenciaLicencia de este documentoDisponible bajo licencia de Creative CommonsReconocimiento-NoComercial-CompartirIgual 4.0 Internacionalhttp://creativecommons.org/licenses/by-nc-sa/4.0/

    Óscar Sánchez Cálculo cient́ıfico con Octave en las aulas de la UGR

    http://creativecommons.org/licenses/by-nc-sa/4.0/

    OctaveBibliografía y licencia