1Eva_IIT2010_T3 Raíz de Polinomio

1ra Evaluación II Término 2010-2011. 7/Diciembre/2010. ICM00158

Tema 3. El polinomio P(x) tiene una única raiz positiva.

P(x) = x3 – x2 -x -1

Encuentre un intervalo donde se garantice la existencia de ésta raíz (justifique).

Utilizando el método del punto fijo, presente una tabla que contenga la sucesión de valores, el error

en = | xn – xn-1|, n≥1,

y con un criterio de interrupción del método iterativo de en ≤ 10-9

1Eva_IIT2010_T2 Sistema ecuaciones, X0 = unos

1ra Evaluación II Término 2010-2011. 7/Diciembre/2010. ICM00158

Tema 2. Considere el sistema AX = B dado por:

\begin {cases} 0.4 x + 1.1 y +3.1z = 7.5 \\ 4x + 0.15y + 0.25z = 4.45\\ 2x+5.6y+3.1z=0.1\end{cases}

De ser posible, manipule el sistema de tal forma que se garantice la convergencia del método de Gauss-Seidel, determine la norma de la matriz T.

Determine la solución con éste método con el vector inicial (1,1,1) y con una tolerancia 10-4.


A = np.array([[0.4, 1.1 ,  3.1],
              [4.0, 0.15, 0.25],
              [2.0, 5.6 , 3.1]])
B = np.array([7.5, 4.45, 0.1])
X = np.array([1.0, 1.0, 1.0])
tolera = 1e-4
iteramax = 100

1Eva_IIT2010_T1 Aproximar con polinomio

1ra Evaluación II Término 2010-2011. 7/Diciembre/2010. ICM00158

Tema 1. La función de variable real f(x) será aproximada con el polinomio de segundo grado P(x) que incluye los tres puntos f(0), f(π/2), f(π).

f(x) = e^x \cos (x) +1 0\leq x \leq \pi

Encuentre la magnitud del mayor error E(x) = f(x) -P(x), que se produciría al usar esta aproximación. Resuelva la ecuación no lineal resultante con la fórmula de Newton con un error máximo de 0.0001.

2Eva_IT2010_T3 EDP elíptica, Placa no rectangular

2da Evaluación I Término 2010-2011. 31/Agosto/2010. ICM00158

Tema 3. La placa plana mostrada en la figura está construida con cierto metal, y se ha determinado que la temperatura en los bordes de la placa es la que se indica en la figura.

Ademas de tiene que el término no homogéneo asociado a la ecuación elíptica respectiva es f(x,y)=20

\frac{\partial ^2 u}{\partial x^2} + \frac{\partial ^2 u}{\partial y^2} = f

El problema consiste en determinar la temperatura en los puntos del interior de la placa en la malla que se muestra en la figura.

a. Determinar el algoritmo en diferencias finitas que resuelve el problema

b. Plantear el sistema de ecuaciones lineas que resuelve el problema

c. Utilice el método de Gauss para resolver el sistema de ecuaciones generado

2Eva_IT2010_T2 Movimiento angular

2da Evaluación I Término 2010-2011. 31/Agosto/2010. ICM00158

Tema 2. La ecuación de un movimiento angular está dada por

y'' + 10 \sin (y) =0 0\leq t \leq 1 y(0)=0, y'(0)=0.1

Empleando el método de Runge-Kutta de 4to orden generalizado y un paso de 0.25, aproximar la solución de la ecuación en t=0.50


Referencia:  Chapra 28.4 p842 pdf 866

https://nitanperdida.com/2017/12/24/banos-y-el-columpio-del-fin-del-mundo/
BAÑOS DE AGUA SANTA Y EL COLUMPIO DEL FIN DEL MUNDO

2Eva_IT2010_T1 Perímetro de región

2da Evaluación I Término 2010-2011. 31/Agosto/2010. Análisis Numérico

Tema 1. Aproximar el perímetro de la región ubicada en el primer cuadrante, acotada por los ejes coordenados y la curva

\begin{cases} x = 2 cos(t) \\ y = \sqrt{3} \sin{(t)} \end{cases} t \in \Big[0, \frac{\pi}{2}\Big]

Utilice la regla compuesta de Simpson con n=8

1Eva_IT2010_T3_MN Precio artículos

1ra Evaluación I Término 2010-2011. 6/Julio/2010. ICM02188. Métodos Numéricos

Tema 3. Un comerciante compra cuatro artículos: arroz, manzanas, papas y tomates.

Estos productos se venden por peso en Kg.

El cajero registra el peso adquirido de cada artículo y el costo total en dólares que debe pagar por los cuatro artículos.

El comerciante desea conocer el precio por Kg. de cada artículo, para lo cual dispone de cuatro facturas con los siguientes datos:

cantidades en Kg
 Factura  Arroz  Manzanas  Papas  Tomates  Costo ($)
 1  2  2  4  1  15.0
 2  2  2  5  2  18.3
 3  4  1  1  2  12.3
 4  2  5  2  1  19.2

a. Formule el modelo matemático para resolver este problema: sistema de ecuaciones lineales

b. Use el método de Gauss-Jordan para calcular la solución. Simultáneamente, transforme la matriz identidad para obtener la inversa de la matriz de coeficientes.

1Eva_IT2010_T2_MN Uso de televisores

1ra Evaluación I Término 2010-2011. 6/Julio/2010. ICM02188. Métodos Numéricos

Tema 2. La curva de encendido de televisores en la ciudad de Guayaquil está en función de la hora del dia y del día de la semana.

https://www.istockphoto.com/es/vector/familia-feliz-viendo-tv-ilustraci%C3%B3n-de-dibujos-animados-modernos-gente-personajes-gm909440758-250490142

Suponga que en un intervalo de 4 horas, un determinado día , el porcentaje de televisores encendidos está dado por la función:

p(x) =\frac{1}{2.5} \Big(-10 \sin \Big(\frac{12x}{7} \Big) e^{-\frac{24x}{7}} + \frac{48x}{7}e^{-\frac{8x}{7}} + 0.8 \Big)

0≤x≤4

x: Tiempo en horas
p: porcentaje en horas de televisores encendidos

a. Encuentre un intervalo en que se encuentre el máximo de la función p

b. Utilice el método de Newton para encontrar el máximo de la función p. Calcule la respuesta con un error máximo de 0.0001

c. Encuentre el mínimo de la función p en el mismo intervalo de cuatro horas con el mismo método y con la misma precisión anteriores.


Gráfica de referencia

 

1Eva_IT2010_T1_MN Demanda y producción sin,log

1ra Evaluación I Término 2010-2011. 6/Julio/2010. ICM02188 Métodos Numéricos

Tema 1. La demanda de un producto en el intervalo de tiempo [0,3] tiene forma sinusoidal.

Al detectar la demanda, una empresa puede iniciar su producción a partir del instante 1, y la cantidad producida tiene forma logaritmica natural.

Se necesita encontrar el instante a partir del cual, la producción satisface a la demanda del producto.

Use el método de la Bisección para localizar el intervalo de la respuesta y obtenga la respuesta con error menor a 0.01

s1Eva_IT2010_T2_MN Uso de televisores

Ejercicio: 1Eva_IT2010_T2_MN Uso de televisores

literal a

El enunciado indica encontrar el máximo y luego el mínimo, por lo que la curva bajo análisis es la derivada de la función dp(x)/dx.

Adicionalmente, para encontrar los puntos se requiere usar el método de Newton-Raphson que corresponden a las raíces de dp(x)/dx. La función bajo análisis ahora es la derivada y para el método se su la derivada: d2p(x)/dx2.

Al usar el computador para las fórmulas, se usa la forma simbólica de la función p(x), para obtener dpx y d2px.

primera derivada: 
-3.13469387755102*x*exp(-8*x/7)
 + 2.74285714285714*exp(-8*x/7) 
+ 13.7142857142857*exp(-24*x/7)*sin(12*x/7) 
- 6.85714285714286*exp(-24*x/7)*cos(12*x/7)
segunda derivada: 
3.58250728862974*x*exp(-8*x/7) 
- 6.26938775510204*exp(-8*x/7) 
- 35.265306122449*exp(-24*x/7)*sin(12*x/7) 
+ 47.0204081632653*exp(-24*x/7)*cos(12*x/7)

La gráfica requiere la evaluación las funciones, que por simplicidad de evaluación, su formas simbólicas se convierten a su forma ‘lambda’.

Con la gráfica se verifica que la raíz de dp(x)/dx (en naranja) pasa por el máximo y mínimo de p(x) (en azul).

que se obtienen con las siguientes instrucciones en Python:

# 1ra Evaluación I Término 2010
# tema 2. encendido tv
# Tarea: aplicar el método de Newton-Raphson
# solo se muestra la función y sus derivadas 1 y 2
import numpy as np
import sympy as sym
import matplotlib.pyplot as plt

# función bajo análisis en forma simbólica
x = sym.Symbol('x')
pxs = (1/2.5)*(-10*sym.sin(12*x/7)*sym.exp(-24*x/7) \
               + (48*x/7)*sym.exp(-8*x/7)+0.8)

# derivadas
dpxs = pxs.diff(x,1)
d2pxs = pxs.diff(x,2)
d2pxs = sym.expand(d2pxs)

# SALIDA
print('primera derivada: ')
print(dpxs)
print('segunda derivada: ')
print(d2pxs)

# conversion a lambda
pxn = sym.utilities.lambdify(x,pxs, 'numpy')
dpxn = sym.utilities.lambdify(x,dpxs, 'numpy')
d2pxn = sym.utilities.lambdify(x,d2pxs, 'numpy')

# observar gráfica
a = 0
b = 4
muestras = 51
tolera = 0.0001

xi = np.linspace(a,b, muestras)
pxi = pxn(xi)
dpxi = dpxn(xi)
d2pxi = d2pxn(xi)

# Gráfica
plt.plot(xi,pxi, label = 'pxi')
plt.plot(xi,dpxi, label = 'dpxi')
plt.plot(xi,d2pxi, label = 'd2pxi')
plt.axhline(0)
plt.legend()
plt.show()

literal b

Usando el método de Newton-Raphson a partir de la primera y segunda derivada según lo planteado, usando x0=0,se tiene:

f(x) = -3.13469387755102 x e^{(-8 x/7)} +2.74285714285714 e^{(-8 x/7)} + 13.7142857142857 e^{(-24 x/7)} \sin\Big(\frac{12x}{7}\Big) - 6.85714285714286 e^{(-24x/7)} \cos\Big(\frac{12x}{7}\Big) f'(x) = 3.58250728862974 x e^{(- 8 x/7)} - 6.26938775510204 e^{(- 8 x/7)} - 35.265306122449 e^{(-24x/7)} \sin \Big(\frac{12x}{7}\Big) + 47.0204081632653 e^{(-24x/7)} \cos\Big(\frac{12x}{7}\Big)

itera = 0, x0 = 0

f(0) = -3.13469387755102 (0) e^{(-8 (0)/7)} +2.74285714285714 e^{(-8 (0)/7)} + 13.7142857142857 e^{(-24 (0)/7)} \sin\Big(\frac{12(0)}{7}\Big) - 6.85714285714286 e^{(-24(0)/7)} \cos\Big(\frac{12(0)}{7}\Big) = -4.1143 f'(0) = 3.58250728862974 (0) e^{(- 8 (0)/7)} - 6.26938775510204 e^{(- 8(0)/7)} - 35.265306122449 e^{(-24(0)/7)} \sin \Big(\frac{12(0)}{7}\Big) + 47.0204081632653 e^{(-24(0)/7)} \cos\Big(\frac{12(0)}{7}\Big) = 40.751 x_1 = 0 - \frac{-4.1143}{40.751} =0.101 error = | 0.101-0 |=0.101

itera = 1

f(0.101) = -3.13469387755102 (0.101) e^{(-8 (0.101)/7)} +2.74285714285714 e^{(-8 (0.101)/7)} + 13.7142857142857 e^{(-24 (0.101)/7)} \sin\Big(\frac{12(0.101)}{7}\Big) - 6.85714285714286 e^{(-24(0.101)/7)} \cos\Big(\frac{12(0.101)}{7}\Big) = -0.9456 f'(0.101) = 3.58250728862974 (0.101) e^{(- 8 (0.101)/7)} - 6.26938775510204 e^{(- 8 (0.101)/7)} - 35.265306122449 e^{(-24(0.101)/7)} \sin \Big(\frac{12(0.101)}{7}\Big) + 47.0204081632653 e^{(-24(0.101)/7)} \cos\Big(\frac{12(0.101)}{7}\Big) =23.2054 x_2 = 0.101 - \frac{-0.9456}{23.2054} =0.1417 error = | 0.1417-0.101 |=0.0407

itera = 2

f(0.1417) = -3.13469387755102 (0.1417) e^{(-8 (0.1417)/7)} +2.74285714285714 e^{(-8 (0.1417)/7)} + 13.7142857142857 e^{(-24 (0.1417)/7)} \sin\Big(\frac{12(0.1417)}{7}\Big) - 6.85714285714286 e^{(-24(0.1417)/7)} \cos\Big(\frac{12(0.1417)}{7}\Big) = -0.11005 f'(0.1417) = 3.58250728862974 (0.1417) e^{(- 8 (0.1417)/7)} - 6.26938775510204 e^{(- 8 (0.1417)/7)} - 35.265306122449 e^{(-24(0.1417)/7)} \sin \Big(\frac{12(0.1417)}{7}\Big) + 47.0204081632653 e^{(-24(0.1417)/7)} \cos\Big(\frac{12(0.1417)}{7}\Big) = 0.17957 x_3 = 0.1417 - \frac{-0.11005}{0.17957} =0.14784 error = | 0.14784- 0.1417 |=0.0061287

se observa que el error disminuye en cada iteración, por lo que el método converge.

Se continúan las operaciones con el algoritmo obteniendo:

i ['xi', 'fi', 'dfi', 'xnuevo', 'tramo']
0 [ 0.     -4.1143 40.751   0.101   0.101 ]
1 [ 0.101  -0.9456 23.2054  0.1417  0.0407]
2 [ 1.4171e-01 -1.1005e-01  1.7957e+01  1.4784e-01  6.1287e-03]
3 [ 1.4784e-01 -2.1916e-03  1.7245e+01  1.4797e-01  1.2708e-04]
4 [ 1.4797e-01 -9.2531e-07  1.7231e+01  1.4797e-01  5.3701e-08]
raíz en:  0.1479664890264113

literal c

la otra raíz se encuentra con x0=1

i ['xi', 'fi', 'dfi', 'xnuevo', 'tramo']
0 [ 1.      0.3471 -2.207   1.1573  0.1573]
1 [ 1.1573  0.0539 -1.5338  1.1924  0.0352]
2 [ 1.1924  0.0024 -1.397   1.1941  0.0017]
3 [ 1.1941e+00  5.7065e-06 -1.3904e+00  1.1942e+00  4.1041e-06]
raíz en:  1.1941511721360376

Instrucciones en Python

# 1Eva_IT2010_T2_MN Uso de televisores

import numpy as np
import matplotlib.pyplot as plt

def newton_raphson(fx,dfx,xi, tolera, iteramax=100, vertabla=False, precision=4):
    '''
    funciónx y fxderiva en forma numérica lambda
    xi es el punto inicial de búsqueda
    '''
    itera=0
    tramo = abs(2*tolera)
    if vertabla==True:
        print('i', ['xi','fi','dfi', 'xnuevo', 'tramo'])
        np.set_printoptions(precision)
    while (tramo>=tolera and itera<iteramax):
        fi = fx(xi)
        dfi = dfx(xi)
        xnuevo = xi - fi/dfi
        tramo = abs(xnuevo-xi)
        if vertabla==True:
            print(itera,np.array([xi,fi,dfi,xnuevo,tramo]))
        xi = xnuevo
        itera = itera + 1
    if itera>=iteramax:
        xi = np.nan
        print('itera: ',itera, 'No converge,se alcanzó el máximo de iteraciones')
    return(xi)

# INGRESO
fx  = lambda x: -3.13469387755102*x*np.exp(-8*x/7) \
      + 2.74285714285714*np.exp(-8*x/7) \
      + 13.7142857142857*np.exp(-24*x/7)*np.sin(12*x/7) \
      - 6.85714285714286*np.exp(-24*x/7)*np.cos(12*x/7)
dfx = lambda x: (3.58250728862974*x - 6.26938775510204 \
                 - 35.265306122449*np.exp(-16*x/7)*np.sin(12*x/7) \
                 + 47.0204081632653*np.exp(-16*x/7)*np.cos(12*x/7))*np.exp(-8*x/7)

x0 = 0.5
tolera = 0.0001

# PROCEDIMIENTO
respuesta = newton_raphson(fx,dfx,x0, tolera, vertabla=True)
# SALIDA
print('raíz en: ', respuesta)