USM Numérica

Tema del Notebook

Objetivos

  1. Primero objetivo del Notebook
  2. Segundo objetivo del Notebook

0.1 Instrucciones

Las instrucciones de instalación y uso de un ipython notebook se encuentran en el siguiente link.

Después de descargar y abrir el presente notebook, recuerden:

  • Desarrollar los problemas de manera secuencial.
  • Guardar constantemente con Ctr-S para evitar sorpresas.
  • Reemplazar en las celdas de código donde diga FIX_ME por el código correspondiente.
  • Ejecutar cada celda de código utilizando Ctr-Enter

0.2 Licenciamiento y Configuración

Ejecutar la siguiente celda mediante Ctr-Enter.


In [1]:
"""
IPython Notebook v4.0 para python 3.0
Librerías adicionales: numpy, scipy, matplotlib. (EDITAR EN FUNCION DEL NOTEBOOK!!!)
Contenido bajo licencia CC-BY 4.0. Código bajo licencia MIT. 
(c) Sebastian Flores, Christopher Cooper, Alberto Rubio, Pablo Bunout.
"""
# Configuración para recargar módulos y librerías dinámicamente
%reload_ext autoreload
%autoreload 2

# Configuración para graficos en línea
%matplotlib inline

# Configuración de estilo
from IPython.core.display import HTML
HTML(open("./style/style.css", "r").read())


Out[1]:

1. Archivos

Los archivos de los laboratorios deben tener la siguiente estructura:

  1. Archivo .ipynb de extensión ipython notebook, para python 3. Nombre varía de laboratorio a laboratorio.
  2. Carpeta code/ que contiene los códigos del laboratorio. Varía de laboratorio a laboratorio, pero debe tener __init__.py y lab.py.
  3. Carpeta data/ (opcional) que contiene los archivos de datos a utilizar en el laboratorio.
  4. Carpeta images/ que contiene las imágenes del laboratorio. Varía de laboratorio a laboratorio, pero debería al menos contener utfsm.png.
  5. Carpeta style/ que contiene el archivo lab.css con el estilo predefinido y común a los laboratorios.

2 Uso de ipython notebook

Los siguientes son ejemplos de acciones comunes en ipython notebook


In [ ]:
import numpy as np
from matplotlib import pyplot as plt

In [ ]:
# Presionar tabulación con el cursor despues de np.arr
np.arr

In [ ]:
# Presionar Ctr-Enter para obtener la documentacion de la funcion np.array usando "?"
np.array?

In [ ]:
# Presionar Ctr-Enter
%whos

In [ ]:
x = 10
%whos

Tipos de letras

Se tienen los siguientes tipos de letras, gentileza del markdown y estilo lab.css:

  1. emphasis
  2. strong
  3. strong and emphasis
  4. code
  5. code and emphasis
  6. code and strong
  7. code, strong and emphasis.
  8. Código en python
    for i in range(n):
         print(i)
    
  9. Código en bash
    echo "hola"
    

Desafío 1 (10%)

Después de pasar un contenido, es importante realizar una evaluación mediante algún problema o desafío. Indicar el porcentaje asociado a la evaluación.

Por ejemplo, aquí se requiere implementar la regla de cuadratura (integración) trapezoidal.


In [ ]:
def mi_funcion(x):
    f = 1 + x + x**3 + x**5 + np.sin(x)
    return f

N = 5
x = np.linspace(-1,1,N)
y = mi_funcion(x)
# FIX ME
I = 0 # FIX ME
# FIX ME
print("Area bajo la curva: %.3f" %I)

# Ilustración gráfica
x_aux = np.linspace(x.min(),x.max(),N**2)
fig = plt.figure(figsize=(12,8))
fig.gca().fill_between(x, 0, y, alpha=0.25)
plt.plot(x_aux, mi_funcion(x_aux), 'k')
plt.plot(x, y, 'r.-')
plt.show()