Archivo

  • Octave

    Estas clases han servido de introdución al lenguaje Octave, mismo que pueden descargar en:
    https://ftp.gnu.org/gnu/octave/windows/

    Para más informarción y para reforzar su aprendizaje sugerimos la lectura del primer capítulo de la bibliografía principal del curso:
    Es muy importante que por su cuenta avancen en la lectura y en la ejecución en el software, este tipo de conocimiento sólo se adquiere con la práctica.

    Estos fueron algunos de los programitas que hicimos hoy:

    Uso de ciclo FOR
    %Programita que calcula 'n' aproximaciones a la raíz cuadrada de un número 'y'
    n=30;
    y=143;
    x=zeros(1,n);
    x(1)=3;
    for i=2:n
        x(i)=(x(i-1)+y/x(i-1))/2;
    end
    plot(x)

    %Programita que calcula el factorial de un entero 'n!' y grafica n! vs n
    n=30;
    x=zeros(1,n);
    x(1)=1;
    for i=2:n
        x(i)=x(i-1)*i;
    end
    plot(x)

    Evaluación de una función

    %Gráfica del sin(x) en el intervalo [0,2*pi]
    x=linspace(0,1,10);
    y=sin(2*pi*x);
    plot(x,y)
  • Tarea

    Con ayuda de la función ginput diseñar un programa que vaya construyendo en tiempo real un polígono con puntos ingresados desde el mouse.

    Nota: Esta tarea no tiene caracter obligatorio, pero va a ser fundamental para el desarrollo de un programa de suavizamiento de contornos.
  • Punto flotante

    En estas clases hemos estado hablando de la aritmética del punto flotante, estos temas los pueden encontrar en la bibliografía recomendada, misma que completamos hoy con el paper de George E. Forsythe que dejo para su lectura:

    Pitfalls in Computation, or why a Math Book isn't Enough


    Sin embargo diferentes manuales prácticos se pueden encontrar en internet, uno de los que he encontrado pertenece a la Universidad Complutense de Madrid, dejo el link para su lectura:


    Aritmética en punto flotante

    Tras la lectura deberían ser capaces de responder la siguiente:

    • Pregunta¿si deseas calcular la cantidad x^2-y^2, en un ordenador, cuál es el algoritmo que utilizarías (suponiendo que quieres dar la respuesta más precisa)?
    Algo sobre represenación IEEE 754: Descarga
  • Polígono

    Les dejo un video donde les explico una manera de resolver el problema de hacer un polígono cuyos puntos introducimos con el puntero, también les dejo m-file que generamos y les dejo la siguiente pregunta:

    Es evidente que graficar una y otra vez todos los puntos no sería eficiente si la cantidad de puntos es muy grande, cómo modificarian el programa para resolver este problema?
    hint: hold on / hold off
    DO IT


    m-file: DESCARGA

  • Tarea 01

    PARTE 01: Compresión de Imágenes Digitales

    Fecha de entrega: Viernes 25 de agosto de 2017

    Descarga: Tarea 01

  • Problema 1

    Graficar una curva parametrizada en Octave.

    He escrito el problema en un archivo y les solicito que se vuelva a entregar impreso en una hoja, de la siguiente forma:
    Código + Gráfico obtenido 

    Problema 1: Descarga

    Aquí podrán consultar sus calificaciones a lo largo del curso: Calificaciones
  • Diferencia entre funciones y scripts en OCTAVE

    Les dejo este video donde hablo de funciones y scripts.

    Reto: 
    ¿Puedes hacer una función a la que le ingreses cuales quiera 3 puntos y te devuelva la gráfica de la curva de Bézier asociada?

  • Tarea 2

  • DESCARGA
  • Tarea Examen 1

    Fecha de entrega: Lunes 11 de septiembre  Descarga
    Los ejercicios en octave sólo son: 3,4 y 5, el resto se resuelve de forma analítica.
    Fecha de examen: Jueves 14 de septiembre
  • Soluciones de Tareas:

    Espinosa Cañizares Carlos Alberto: Tarea 1 (Imágenes)
    Osnaya Saucedo Diana Verónica.: Tarea 2(spline cúbico uniforme)
    Areli Lizbeth Oropeza Ramirez: Tarea 2 (Spline cúbico)
    Espinosa Cañizares Carlos Alberto: Tarea 1 (Splien cub lin)


    Algunas funciones de Splines desarrolladas en clase:

    Cúbico Uniforme
    BSpline Cúbico No uniforme

    Calificaciones al momento: Calificaciones
    Si te falta el registro de alguna manda un correo.
  • Problema 2

    El lunes 11 de septiembre se dejó el siguiente problema para entregar mañana 13 de septiembre:

    Dados los cuatro parámetros conocidos: p(0)=alpha_1, p'(0)=alpha_2, p(1)=betha_1, p'(1)=betha_2

    Encontrar p(x) definido en el intervalo [0,1] que satisfaga las condiciones. 
    Verificar que el polinomio de grado 3 es único.

    Resolver analíticamente y hacer un pequeño programa en Octave.
  • Problema 2 - Segunda versión
    Como nadie hizo o no le salió el problema 2, en clase se resolvió y se dejó una nueva tarea, misma que cuenta como ejercicio de recuperación del problema anterior.

    DESCARGA

    Nota importante: Mañana 14/09/2017 hay examen, los temas son: Aritmética de punto flotante, tipos de errores, errores de cancelación y redondeo, splines, gráficas en octave, es decir de todo lo que hemos visto, consiste de parte teórica y práctica diseñada para resolverse en una hora. Pueden consultar la bibliografía si tienene dudas o mandar correo.
  • Problema 2- segunda versión SOLUCIÓN
    descarga

  • Jupyter - Julia

    • Jupyter se ejecuta sobre un navegador web
    • Puede usar como núcleo a ipython o ijulia
    • Los archivos que crean se llaman notebooks
    Video instrucciones para instalación de julia-jupyter:
    https://www.youtube.com/watch?v=uRIQXJXRtqg

    Pasos:
    1.  Instalar Julia: https://julialang.org/downloads/  en C:\Julia-0.5.2 
    2. Crear una nueva variable de entorno (Environment Variables ) con la dirección C:\Julia-0.5.2\bin
    3. Desde una terminal de msdos (cmd.exe) ejecutar julia e instalar IJulia
        • > julia
        • > Pkg.add("IJulia")
    4. Ejecutar Jupyter y anclar a barra de tareas
  • Reanudación de actividades

    Les pedimos por favor que por medio de correo electrónico (mnolasco@ciencias.unam.mx o pablobarrera@ciencias.unam.mx) nos indiquen si se encuentran bien y si se sienten listos para volver a clases.

    De manera adicional:

    • Es importante que se sientan seguros, como han sido informados por correo electrónico, se ha determinado que la Facultad de Ciencias es un sitio seguro para reanudar sus actividades en todos sus edificios. Los dictámenes oficiales fueron emitidos por la División de Ingenierías Civil y Geomática de la facultad de ingeniería. Por lo anterior tengan la certeza que la Facultad por medio de sus brigadas y cuerpo docente los recibe en sus instalaciones salvaguardando su seguridad. 
    • Sean críticos de la información que reciben y sean conscientes y responsables de la información que difunden. Como científicos en formación deben corroborar sus fuentes, y difundir sólo información que venga de fuentes oficiales a fin de explicar fenómenos naturales y no provocar rumores o confusiones con el tema. "Es importante no alarmar pero estar alerta", conozcan y participen en los planes de emergencia de su hogar y su comunidad. Si éstos no existen gestionen la creación de alguno colaborando posteriormente con su aplicación. Es fundamental estar preparados a este tipo de eventualidades.
  • Tarea 3

    DESCARGA
  • Python, R, Julia y Octave con Jupyter Notebook

  • Anaconda: https://www.anaconda.com/download/ R: https://www.anaconda.com/download/ Anaconda Prompt: conda install -c r r-essentials Julia: https://julialang.org/downloads/ Julia Prompt: Pkg.add("IJulia") Octave: https://www.gnu.org/software/octave/#install Anaconda Prompt: pip install octave_kernel python -m octave_kernel install Octave - Kernel Dead: https://github.com/Calysto/octave_kernel/issues/28 Anaconda Prompt: set OCTAVE_EXECUTABLE=C:\\Octave\\Octave-4.2.1\\bin\\octave-cli.exe Variable de Entorno Nombre de la variable: OCTAVE_EXECUTABLE Valor de la variable: C:\Octave\Octave-4.2.1\bin\octave-cli.exe
  • Interpolación cúbica

    Aquí algunos detalles que pueden resultar complicados de seguir en clase:

    DESCARGA
  • Jupyter Notebook - Cubic Hermite Spline

    En PDF: DESCARGAR

    Archivo .ipynb: DESCARGAR
  • Tarea 4

    La tarea se comentó hoy en clase, se entrega el próximo lunes, aquí la descarga:

    DESCARGA
  • Ayuda con Tareas

    Archivo Jupyter de la clase: DESCARGA

    pdf: DESCARGA
  • Mínimos cuadrados



  • Diseño, parametrización de curva con Splines

  • La tarea consiste en hacer tres diseños: Una persona, una flor, un animal.
    Para mañana viernes 13 de octubre.

    Ejemplo:
    achivo: DESCARGA
    pdf:   DESCARGA

    DESCARGA
  • TAREA EXAMEN 2

    DESCARGA
  • Spline cúbico interpolante con BSplines

    Aquí sobre lo que platicamos esta semana en las ayudantías.
    DESCARGA

  • Notebook de ajuste en Octave.

  • Tarea QR 

  • En la clase del martes hablamos de la factorización QR DESCARGA, aquí dejo un archivo con una tarea sobre este tema. DESCARGA

  • Tarea SVD aprox

  • También hemos analizado las propiedades aproximantes de la SVD, aquí otra tarea, el ejercicio aparece al final del documento y también se entrega el martes: DESCARGA

  • Examen Parcial

  • Tareas

  • Tarea 5 - Problema de mínimos cuadrados resuelto con factorizaciones matriciales
    DESCARGA

    Tarea 6 - Otro de SVD
    Juegue con los siguientes programas en MatLab o Octave para obtener aproximaciones de imágenes en su ordenador.

    svdimg.m
    imagesvd.m

    Instrucciones:
    -Ambos programas deben de estar en el mismo directorio de trabajo.
    -Ejecute:
    >> svdimg
    y seleccione alguna fotografía en su ordenador.

    -Modifique el número de valores singulares hasta obtener una imagen con la calidad que usted considere adecuada.

    Lo que se entrega:
    5 aproximaciones de una fotografía grande en buena calidad de impresión

    Si le es de utilidad puede usar:
     imwrite(A, 'ImagenQueGeneraLaMatrizA.jpg')
    para guardar en formato 'jpg' la imagen que genera la matriz A.
    También se entrega el miércoles.
    Considere estos trabajos como una especie de evaluación de la parte de álgebra lineal computacional que estamos terminando.

  • Cuadratura Gaussiana

  • Aquí lo de la clase de hoy

    DESCARGA
  • Tarea: Platicar en qué consisten las reglas de Cuadratura Adaptativa

  • Entrega de Notebooks - Trabajo del semestre

  • Calificaciones: Aquí mostramos la calificación que lograron en el curso (VER CALIFICACIONES)
    • A las personas en amarillo ya les fueron verificados todos los trabajos que enviaron por correo, si no estás en amarillo aún tienes trabajos pendientes por calificar.
    • Verifica que todas tus calificaciones fueron correctamente asentadas, en caso de existir un error favor de enviar un correo con la calificación correcta sustentada con una fotografía. 
    • Hay enlaces que están vinculados a las versiones pdf de las tareas. 
    Derecho a Calificación: Esto es una manera de evaluar el trabajo que hicieron a lo largo del curso. Para mejorar o sustentar la calificación obtenida, deberán entregar de 3 a 5 notebooks (entre más entregues mayor es la probabilidad de mejorar tu calificación) de los programas que hicieron a lo largo del curso.

    Lista de programas sugeridos (quizá me faltan algunos):
    • Programa de suavizamiento: Dado un contorno, suavizarlo con arcos parabólicos o curvas de bezier.
    • Splines: Dado un conjunto de puntos encontrar el spline cúbico interpolante (hay variedad de soluciones)
    • Splines: Dado un conjunto de puntos encontrar el spline cúbico de hermite (hay variedad de soluciones)
    • Parametrización con spline cúbico
    • HistoSpline
    • Factorización QR (completo, es decir para una matriz mxn)
    • Factorización PA=LU
    • Factorización de   Cholesky (A>0) : A=LL*
    • SVD: Tratamiento de imágenes digitales.
    • Ajuste de polinomios de grado n (programas y ejemplos )
    • Ajuste de funciones por cambio de variable (programas y ejemplos )
    • Integración numérica de funciones en cualquier intervalo utilizando alguna regla de cuadratura. (programas y ejemplos )
    • Método de Secante (programas y ejemplos )
    • Método de Newton una variable (programas y ejemplos )
    • Método de Newton varias variables (programas y ejemplos )
    • Encontrar máximos y mínimos de funciones (programas y ejemplos )
    Contenido básico de los notebooks:
    • Justificación matemática y pseudo código.
    • Código
    • Pruebas y ejemplos
    • Bibliografías y referencias
    El trabajo se debe entregar en alguno de los siguientes formatos:
    • en formato notebook de Jupyter (*.ipynb)
    • pdf y archivo en LaTex
    • pdf de algun procesador de textos y archivos *.m (último de los casos y poco recomendable). 

    Ejemplo: Se subirá más tarde




    FECHA DE ENTREGA: Miércoles 13 de diciembre




    Asiganción de proyecto final: 13,14 y 15 de diciembre. (Para obtener su calificación final se asignará un pequeño proyecto)
    Fecha de entrega del proyecto final (FINAL DE CURSO): 12 de enero.

  • Markdown

  • Calificaciones

  • Aquí están las calificaciones asentadas.


    si tienes un problema con alguna calificación o crees que no todas tus calificaciones fueron registradas correctamente por favor de envía un correo con la respectiva corrección.

    El día de mañana se entregan los notebook.

  • Asignación de proyecto

  • Deberán presentarse en el cubículo del profesor P. Barrera (cub. 226 2do piso depto. Matemáticas) las siguientes personas en el horario indicado para la asignación de proyecto final:


    10:00 hrs.

    CruzQuirózAlfredo
    EspinosaCañizaresCarlos Alberto
    GaliciaVázquezAriadna Itzamaray
    GarcíaFloresOmar
    LópezTorrijosLaura
    MéndezVargasAriadne Karina
    MontesValenciaRuth Citlali
    TolentinoAguilarJesús Adrián
    FloresRamírezAideé
    MuñozMoralesEvelyn Janeth

    10:30 hrs.

    Díaz de LéonZepedaGerardo
    DomínguezMoralesHugo
    QuintanaHérnandezCristián Michael
    TotomochIbarraDiego Antonino
    ValerianoAlamillaGil Eduardo
    GaticaIslasAna Laura

    11:00 hrs.

    GarcíaYbarraCynthia
    MolinaBecerraJosué Ely
    OropezaRamírezAreli Lizbeth
    OsnayaSaucedoDiana Verónica
    PérezCendejasUlises



    Las personas en la siguiente lista presentarán un examen práctico el jueves 11 de enero y deberán entregar el avance de los ejercicios resueltos de: Matlab-Cody. Si aún no están registrados pueden hacerlo de manera gratuita en el siguiente link: REGISTRO. Este avance será de suma importancia para su calificación final.

    El examen contendrá ejercicios de tareas y/o exámenes del curso, si tienes laptop la puedes llevar.


    CaballeroBucioArmando
    de la HuertaArteagaElizabeth
    MendozaHérnandezErick
    HerreraRamírezSelene Itzel
    QuintanarBeltránIván Enrique
    RamírezVázquezAmérica
    RoblesCancinoKarla Alejandra
    SalvadorRiveraJosé Alejandro

  • Proyectos

    • Todos los grupos: Realizar la mayor cantidad de ejercicios de CODY-MATLAB
    • Fecha de entrega: 10 de enero 10 am.
    • Los proyectos se entregan: 11 de enero a las 11am.
    • Grupo A: El avance en cody debe ser muy alto. 
      • Estudiar para: Examen práctico: 11 de enero a las 11am. 
      • CaballeroBucioArmando
        de la HuertaArteagaElizabeth
        MendozaHérnandezErick
        HerreraRamírezSelene Itzel
        QuintanarBeltránIván Enrique
        RamírezVázquezAmérica
        RoblesCancinoKarla Alejandra
        SalvadorRiveraJosé Alejandro
    • Grupo B: Proyecto:
      • Parte 1) Investigación: ¿Cómo se calcula la derivada numéricamente?
      • Parte 2) Investigar cómo se resuelven numéricamente las siguientes ecuaciones diferenciales:
      • x''+kx=0 (k>0: constante)
      • x''+k sin(x)=0
      • Hacer una análisis a la condición inicial y presentar resultados en el espacio fase (x' contra x)
      • CruzQuirózAlfredo
        MuñozMoralesEvelyn
        GaliciaVázquezAriadna 
        GarcíaFloresOmar
        LópezTorrijosLaura
        MéndezVargasAriadne Karina
        MontesValenciaRuth Citlali
        FloresRamírezAideé

    • Tolentino Aguilar Jesús Adrián
      Proyecto: ¿Cómo se calcula numéricamente las funciones elementales en una computadora?
      • seno, coseno, exponencial, logaritmo, potencias
    • Espinosa Cañizares Carlos Alberto
      • Proyecto: Manchas Solares y Series de tiempo. 
    • Grupo C:
      • Domínguez Morales Hugo
        • Proyecto:¿Qué es una serie de tiempo?
          • Ejemplos de serie de tiempo
          • Palabras clave:
            • Tendencia
            • Determinación de periodos
            • Análisis de Fourier
              • Aplicaciones: Ciclos económicos
      • Gatica Islas Ana Laura
        Proyecto: ¿Cómo se calcula numéricamente las funciones elementales en una computadora?
        • seno, coseno, exponencial, logaritmo, potencias
      • Díaz de Léon Zepeda Gerardo
        • Ensayo del libro: Against the Gods: The Remarkable Story of Risk
      • Quintana Hérnandez Cristián Michael
        • Cody
      • Totomoch Ibarra Diego Antonino 
        Valeriano Alamilla Gil Eduardo
        • Proyecto: Método de Montecarlo
          • ¿Qué es?
          • Aplicaciones
    • Grupo D
      Oropeza Ramírez Areli Lizbeth
      Osnaya Saucedo Diana Verónica
      • Proyecto: Transformada de Fourier Discreta
        • Conceptos clave:
          • Cálculo aproximado de coeficientes de fourier
          • Algoritmos de cálculo
          • Transformada de Fourier Rápida
        • 5 Ejemplos en Matlab/Octave (fft)
    • García Ybarra Cynthia

      • Proyecto:Transformada de Fourier Discreta
        • Parte 1: Coeficientes de Fourier de una función periódica (integral, continuidad)
        • Parte 2: Transformada de Fourier Discreta(Versión aproximada, determinar periodicidad, cálculo discreto):
      • Algoritmos de cálculo
      • Transformada de Fourier Rápida
      • 5 Ejemplos en Matlab/Octave (fft)
        • Usar funciones periódicas y perturbar con ruido
    • Molina Becerra Josué Ely

      • Solución numérica de ecuación diferencial de segundo orden no lineal x''+4x(1+x^2)^{-3/2}=0
    • Pérez Cendejas Ulises
      • Movimiento browniano y Splines

  • Entrega Cody

      • El día miércoles 10 de enero a las 10:00hrs esperamos su avance de cody, modo de entrega: En su panel de usuarios encontrarán una barra de menús, entren en My Cody. Lo que queremos es el url de tipo https://www.mathworks.com/matlabcentral/cody/players/XXXXXXX-USER-NAME
         que se obtiene al acceder a este menú: 

  • Calificaciones Finales

    • Alumnos nuestros, llega el inicio de este nuevo año y con él sus calificaciones en nuestro curso.
    • Les agradezco su esfuerzo y dedicación, sé que muchos de ustedes aprovecharon el curso de al menos una manera. También deseo que tengan un buen inicio de año, pero les deseo un mejor inicio de semestre.
    • Suerte en sus metas.
    • Ver calificaciones finales
    • Dudas por correo o en el cubículo del profesor Pablo en horario de lu a ju de 11 a 13 hrs (hasta jueves 18 enero)