2Eva_IIT2016_T3_MN EDO Taylor 2, Tanque de agua

2da Evaluación II Término 2016-2017. 14/Febrero/2017. ICM02188 Métodos Numérico

Tema 3.  Si se drena agua desde un tanque cilíndrico vertical por medio de abrir una válvula en la base, el líquido fluirá rápido cuando el tanque está lleno y disminuye el flujo a medida que se drene.

Como se ve, la tasa a la que el nivel del agua disminuye es:

\frac{dy}{dt} = -k \sqrt{y}

Donde k es una constante que depende de la forma del agujero y del área de la sección transversal del tanque y agujero del drenaje. La profundidad del agua del agua se mide en metros y el tiempo t en minutos.

Si k=0.06,

a) Determine en que tiempo la altura del nivel del agua llega a la mitad del nivel inicial que es 3 m. (Solo formule el método de Taylor de orden 2)

b) Realice 3 pasos con h=0.5 min

2Eva_IIT2016_T2_MN Volumen cacao seco

2da Evaluación II Término 2016-2017. 14/Febrero/2017. ICM02188 Métodos Numérico

Tema 2.  En una bodega de 4 m x 6m, hay una montaña de cacao seco listo para empaque.

La tabla indica la altura en metros de la montaña sobre el nodo en el plano medido al centímetro más cercano.

f(x,y) x=0 x=1 x=2 x=3 x=4
y=0 0.38 0.62 0.38 0.08 0.01
y=1.5 1.31 2.16 1.31 0.29 0.02
y=3 1.02 1.68 1.02 0.23 0.02
y=4.5 0.18 0.29 0.18 0.04 0.00
y=6 0.01 0.01 0.01 0.00 0.00

Use el método de Simpson 1/3 en ambas direcciones para aproximar el volumen V:

V = \int_0^4 \int_0^6 f(x,y)dydx

a) Realice la formulación del método indicando los puntos de la cuadrícula.

b) Estime la cota del error propagado y error total


Rúbrica: Planteamiento del problema (5 puntos), selección de método minimizando cotas de error (5 puntos), integración en un eje (5 puntos), integración en el otro eje (5 puntos), Estimación de errores (5 puntos)

x = [ 0.0, 1.0, 2.0, 3.0, 4.0]
y = [ 0.0, 1.5, 3.0, 4.5, 6.0]

fxy  = [[0.38, 0.62, 0.38, 0.08, 0.01],
        [1.31, 2.16, 1.31, 0.29, 0.02],
        [1.02, 1.68, 1.02, 0.23, 0.02],
        [0.18, 0.29, 0.18, 0.04, 0.00],
        [0.01, 0.01, 0.01, 0.00, 0.00]]

2Eva_IIT2016_T1_MN Coeficiente Gini

2da Evaluación II Término 2016-2017. 14/Febrero/2017. ICM02188 Métodos Numéricos

Tema 1.  El coeficiente de Gini es una medida para medir la desigualdad.

G=\frac{a}{a+b}

Donde b es el área bajo la curva de Lorentz (Porcentaje de ingresos de las personas que menos ganan f(x) versus porcentaje de la población x, a + b = 0.5

Suponga que una población tiene los siguientes ingresos:

Datos de Población
segmento  (%) 20 20 20 20 20
Ingresos ($) 10000 20000 25000 30000 85000

a) Calcule los porcentajes acumulados y construya la función f(x) en función de x
(Curva de Lorentz)

b) Aproxime b = \int_0^1 f(x) dx mediante el método del trapecio,

c) Estime el error


segmento = [  20, 20,  20, 20, 20]
ingresos = [ 10000, 20000, 25000, 30000, 85000]

Referencia: El coeficiente Gini, a partir del minuto 5:00, durante al menos 9:00

País de desigualdad (1/3) | DW Documental

1Eva_IT2016_T4_MN Conceptos

1ra Evaluación I Término 2016-2017. 28/junio/2016. ICM02188 Métodos Numéricos

Tema 4. (25 puntos) Responda las siguientes preguntas y justifique la respuesta

a) Si la ‖Tj > 1 , entonces el método de Jacobi no converge

b) Si f ∈ C2[a,b] y p ∈ [a,b], tal que f(p)=0 y f ‘(p)≠0,
entonces existe δ > 0 tal que el método de Newton converge para cualquier
p0 ∈ [p – δ, p + δ]

Rúbrica: literal a) falso  (6 puntos), Justificación (6 puntos), literal b) verdadero (6 puntos), demostración (7 puntos)

s2Eva_IIT2016_T3_MN EDO Taylor 2, Tanque de agua

Ejercicio: 2Eva_IIT2016_T3_MN EDO Taylor 2, Tanque de agua

La solución obtenida se realiza con h=0.5 y usando dos métodos para comparar resultados.

\frac{dy}{dt} = -k \sqrt{y}

1. EDO con Taylor

Usando una aproximación con dos términos de Taylor:

y_{i+1}=y_{i}+ y'_{i} h+\frac{y"_{i}}{2}h^{2}

Por lo que se obtienen las derivadas necesarias:

y'_i= -k (y_i)^{1/2} y"_i= \frac{-k}{2}(y_i)^{-1/2}

1.1 iteraciones

i=0, y0=3, t0=0

y'_0= -k(y_0)^{1/2} =-0.06(3)^{1/2} = -0.1039 y"_0= \frac{-0.06}{2}(3)^{-1/2} = -0.0173 y_{1}=y_{0}+ y'_{0} (1)+\frac{y"_{0}}{2}(1)^{2} y_{1}=3+ (-0.1039) (0.5)+\frac{-0.0173}{2}(0.5)^{2}= 2.9458

t1=t0+h = 0+0.5= 0.5

i=1, y1=2.9458, t1=0.5

y'_1= -k(y_1)^{1/2} =-0.06(2.887)^{1/2} =-0.1029 y"_1= \frac{-0.06}{2}(2.887)^{-1/2} = -0.0174 y_{2}=y_{1}+ y'_{1} (1)+\frac{y"_{1}}{2}(1)^{2} y_{1}=2.9458+ (-0.1029) (1)+\frac{-0.0174}{2}(1)^{2}= 2.8921

t2=t1+h = 0.5+0.5 = 1.0

i=2, y2=2.8921, t2=1.0

Resolver como Tarea

1.2 Resultados con Python

Realizando una tabla de valores usando Python y una gráfica, encuentra que el valor buscado del tanque a la mitad se obtiene en 16 minutos.

estimado[xi,yi]
[[ 0.          3.        ]
 [ 0.5         2.94587341]
 [ 1.          2.89219791]
 [ 1.5         2.83897347]
 [ 2.          2.7862001 ]
 ...
 [14.          1.65488507]
 [14.5         1.61337731]
 [15.          1.57231935]
 [15.5         1.53171109]
 [16.          1.49155239]
 [16.5         1.45184313]
 [17.          1.41258317]
 [17.5         1.37377234]
 [18.          1.33541049]
 [18.5         1.29749744]
 [19.          1.26003297]
 [19.5         1.22301689]
 [20.          1.18644897]]

Algoritmo en Python para Solución EDO con tres términos:

# EDO. Método de Taylor 3 términos 
# estima la solucion para muestras espaciadas h en eje x
# valores iniciales x0,y0
# entrega arreglo [[x,y]]
import numpy as np

def edo_taylor3t(d1y,d2y,x0,y0,h,muestras):
    tamano = muestras + 1
    estimado = np.zeros(shape=(tamano,2),dtype=float)
    # incluye el punto [x0,y0]
    estimado[0] = [x0,y0]
    x = x0
    y = y0
    for i in range(1,tamano,1):
        y = y + h*d1y(x,y) + ((h**2)/2)*d2y(x,y)
        x = x+h
        estimado[i] = [x,y]
    return(estimado)

# PROGRAMA PRUEBA
# 2Eva_IIT2016_T3_MN EDO Taylor 2, Tanque de agua

# INGRESO.
k=0.06
# d1y = y' = f, d2y = y'' = f'
d1y = lambda x,y: -k*(y**0.5)
d2y = lambda x,y: -(k/2)*(y**(-0.5))
x0 = 0
y0 = 3
h = 1/2
muestras = 40

# PROCEDIMIENTO
puntos = edo_taylor3t(d1y,d2y,x0,y0,h,muestras)
xi = puntos[:,0]
yi = puntos[:,1]

# SALIDA
print('estimado[xi,yi]')
print(puntos)
# Gráfica
import matplotlib.pyplot as plt
plt.plot(xi[0],yi[0],'o', color='r', label ='[x0,y0]')
plt.plot(xi[1:],yi[1:],'o', color='g', label ='y estimada')
plt.axhline(y0/2)
plt.title('EDO: Solución con Taylor 3 términos')
plt.xlabel('x')
plt.ylabel('y')
plt.legend()
plt.grid()
plt.show()

2. EDO con Runge-Kutta de 2do Orden dy/dx

Para éste método no se requiere desarrollar la segunda derivada, se usa el mismo h =0.5 con fines de comparación de resultados

2.1 ITeraciones

i = 1, y0=3, t0=0

K_1 = h y'(x_0,y_0) = (0.5)*(-0.06)(3)^{1/2} =-0.05196 K_2 = h y'(x_0+h,y_0+K_1) = (0.5)* y'(0.5,3-0.05196) = -0.05150 y_1 = y_0+\frac{K1+K2}{2} = 3+\frac{-0.05196-0.05150}{2} = 2.9482

i = 2, y1=2.9482, t1=0.5

K_1 = h y'(x_1,y_1) = (0.5)*(-0.06)(2.9482)^{1/2} =-0.05149 K_2 = h y'(x_1+h,y_1+K_1) = (0.5)* y'(0.5,2.9482-0.05149) = -0.05103 y_1 = y_0+\frac{K1+K2}{2} = 3+\frac{-0.05149-0.05103}{2} = -2.8946

i = 3,  y1=2.8946, t1=1.0

Resolver como Tarea

2.2 Resultados con Python

Si comparamos con los resultados anteriores en una tabla, y obteniendo las diferencias entre cada iteración se tiene que:

estimado[xi,yi Taylor, yi Runge-Kutta, diferencias]
[[ 0.0  3.00000000  3.00000000  0.00000000e+00]
 [ 0.5  2.94587341  2.94826446 -2.39104632e-03]
 [ 1.0  2.89219791  2.89697892 -4.78100868e-03]
 [ 1.5  2.83897347  2.84614338 -7.16990106e-03]
 [ 2.0  2.78620010  2.79575783 -9.55773860e-03]
...
 [ 14.0  1.65488507  1.72150488 -6.66198112e-02]
 [ 14.5  1.61337731  1.68236934 -6.89920328e-02]
 [ 15.0  1.57231935  1.64368380 -7.13644510e-02]
 [ 15.5  1.53171109  1.60544826 -7.37371784e-02]
 [ 16.0  1.49155239  1.56766273 -7.61103370e-02]
 [ 16.5  1.45184313  1.53032719 -7.84840585e-02]
 [ 17.0  1.41258317  1.49344165 -8.08584854e-02]
 [ 17.5  1.37377234  1.45700611 -8.32337718e-02]
 [ 18.0  1.33541049  1.42102058 -8.56100848e-02]
 [ 18.5  1.29749744  1.38548504 -8.79876055e-02]
 [ 19.0  1.26003297  1.35039950 -9.03665304e-02]
 [ 19.5  1.22301689  1.31576397 -9.27470733e-02]
 [ 20.0  1.18644897  1.28157843 -9.51294661e-02]]
error en rango:  0.09512946613018003

# EDO. Método de Taylor 3 términos 
# estima la solucion para muestras espaciadas h en eje x
# valores iniciales x0,y0
# entrega arreglo [[x,y]]
import numpy as np

def edo_taylor3t(d1y,d2y,x0,y0,h,muestras):
    tamano = muestras + 1
    estimado = np.zeros(shape=(tamano,2),dtype=float)
    # incluye el punto [x0,y0]
    estimado[0] = [x0,y0]
    x = x0
    y = y0
    for i in range(1,tamano,1):
        y = y + h*d1y(x,y) + ((h**2)/2)*d2y(x,y)
        x = x+h
        estimado[i] = [x,y]
    return(estimado)

def rungekutta2(d1y,x0,y0,h,muestras):
    tamano = muestras + 1
    estimado = np.zeros(shape=(tamano,2),dtype=float)
    # incluye el punto [x0,y0]
    estimado[0] = [x0,y0]
    xi = x0
    yi = y0
    for i in range(1,tamano,1):
        K1 = h * d1y(xi,yi)
        K2 = h * d1y(xi+h, yi + K1)

        yi = yi + (K1+K2)/2
        xi = xi + h
        
        estimado[i] = [xi,yi]
    return(estimado)

# PROGRAMA PRUEBA
# 2Eva_IIT2016_T3_MN EDO Taylor 2, Tanque de agua

# INGRESO.
k=0.06
# d1y = y' = f, d2y = y'' = f'
d1y = lambda x,y: -k*(y**0.5)
d2y = lambda x,y: -(k/2)*(y**(-0.5))
x0 = 0
y0 = 3
h = 1/2
muestras = 40

# PROCEDIMIENTO
puntos = edo_taylor3t(d1y,d2y,x0,y0,h,muestras)
xi = puntos[:,0]
yi = puntos[:,1]

# Con Runge Kutta
puntosRK2 = rungekutta2(d1y,x0,y0,h,muestras)
xiRK2 = puntosRK2[:,0]
yiRK2 = puntosRK2[:,1]

# diferencias
diferencias = yi-yiRK2
error = np.max(np.abs(diferencias))
tabla = np.copy(puntos)
tabla = np.concatenate((puntos,np.transpose([yiRK2]),
                        np.transpose([diferencias])),
                       axis = 1)

# SALIDA
print('estimado[xi,yi Taylor,yi Runge-Kutta,diferencias]')
print(tabla)
print('error en rango: ', error)

# Gráfica
import matplotlib.pyplot as plt
plt.plot(xi[0],yi[0],'o',
         color='r', label ='[x0,y0]')
plt.plot(xi[1:],yi[1:],'o',
         color='g',
         label ='y Taylor 3 terminos')
plt.plot(xiRK2[1:],yiRK2[1:],'o',
         color='blue',
         label ='y Runge-Kutta 2Orden')
plt.axhline(y0/2)
plt.title('EDO: Taylor 3T vs Runge=Kutta 2Orden')
plt.xlabel('x')
plt.ylabel('y')
plt.legend()
plt.grid()
plt.show()

2Eva_IT2015_T3 EDP parabólica

2da Evaluación I Término 2015-2016. 8/Septiembre/2015. ICM00158

Tema 3. (30 puntos) Use el método de diferencias progresivas para aproximar la solución de la ecuación diferencial parcial parabólica

\frac{\partial u}{\partial t} - \frac{4}{\pi ^2}\frac{\partial ^2 u}{\partial x^2} = 0 0 \lt\ x \lt 4, 0\lt t u(0,t) = u(4,t) = 0, 0\lt t u(x,0) = \sin \Big( \frac{\pi}{4}x \Big) \Big( 1 + 2 \cos \Big( \frac{\pi}{4}x\Big)\Big) 0 \leq x \leq 4

a) Use n=20 en el sentido de x; y m=10, obtenga el modelo (solo planteado).

b) Aproxime la solución con n=4, hasta 2Δt, y

c) estime el error en el punto P(x1, t1)

2Eva_IT2015_T1 Fibra óptica entre montañas

2da Evaluación I Término 2015-2016. 8/Septiembre/2015. ICM00158

Tema 1. (20 puntos) Para una fibra óptica que para por montañas se tienen las medidas de distancia vertical en función de la distancia horizontal y se muestra en la figura y la tabla.

distancias en metros
 horizontal x  vertical y
0 0
100 25
200 38
300 45
400 20

a. Encuentre y’ en los puntos de la tabla usando una aproximación de O(h2)

b. Usando La regla de Simpson 1/3 aproxime la longitud del cable y estime el error.


x = [ 0, 100, 200, 300, 400]
y = [ 0,  25,  38,  45,  20]

3Eva_IT2015_T4 Fórmula central de orden 2

3ra Evaluación I Término 2015-2016. 22/Septiembre/2015. ICM00158

Tema 4. Dados los puntos x0, x1 y x2, con h constante y sus respectivas imágenes.

Deduzca la fórmula central de orden 2 para aproximar la segunda derivada en el punto x1 y estime el error.

3Eva_IT2015_T3 Poisson 3D

3ra Evaluación I Término 2015-2016. 22/Septiembre/2015. ICM00158

Tema 3. La ecuación de Poisson se puede escribir en tres dimensiones como

\frac{\partial ^2 T}{\partial x^2} + \frac{\partial ^2 T}{\partial y^2} + \frac{\partial ^2 T}{\partial z^2} = f(x, y ,z)

a. Plantee las Temperaturas dentro de un cubo unitario con condiciones de frontera cero y f = -10. Utilice Δx = Δy = Δz = 1/3

b. Utilice el método de Gauss-Seidel para resolver el sistema en el literal a, (realice tres iteraciones y estime el error)