====== Examen Final - 75.12. Análisis Numérico ======
**Cátedra:** Morelli\\
**Fecha:** Cuarta Oportunidad - Primer Cuatrimestre 2006\\
**Día:** 04/08/2006
===== Enunciado =====
==== Teoría ====
Deducir el error de truncamiento al calcular \int_a^b \!\!\!\! f(x)dx por la regla del rectángulo.
==== Diagrama de flujo ====
Escribir un diagrama de flujo para hallar la raíz de f(x) en [a,b], f:R\rightarrow R continua en [a,b] con el método de Regula-Falsi. ¿Qué orden de convergencia tiene la sucesión generada? ¿Cuántas funciones evalúa en cada iteración?
==== Ejercicio 1 ====
Estudiar medianto grafos la propagación del error, y decidir cuál de los siguientes métodos es conveniente:
* Clásico P(x)=a_0+a_1 x + a_2 x^2
* Horner P(x)=a_0+x ( a_1 +a_2 x)
==== Ejercicio 2 ====
Sea la siguiente ecuación diferencial con valores iniciales
\left\{ \begin{array}{l}
u''+u'+u=0 \\
u(0)=1 \\
u'(0)=1 \end{array} \right.
Transformarla en un sistema de ecuaciones diferenciales de Primer Orden
Decidir si las siguientes afirmaciones son Verdaderas o Falsas:
- u(t) es creciente en t=0
- u(t) es decreciente en t=0
- u'(t) es creciente en t=0
- u'(t) es decreciente en t=0
* Calcular u_1 y {u'}_1 con h=0.1 con los siguientes métodos:
- Euler explícito
- Runge-Kutta de orden 2, cuya función incremento aproximado para una sola variable es \phi(t,u)=f\left( t+\frac{h}{2} , u+\frac{h}{2}f(t,u) \right).
* Calcular u_2 y {u'}_2 con el método de Adams-Bashforth de orden 2, es decir, u_{n+1}= u_n + \frac{h}{2} \left( 3 f_n - f_{n-1} \right).
¿Qué ventajas y desventajas tienen los métodos multipasos frente a los métodos de un paso?
¿Qué orden debe tener el método de un paso para calcular el valor de arranque?
===== Resolución =====
==== Teoría ====
Si se particiona el intervalo en N partes iguales h=\frac{b-a}{N}
x_0=a \quad x_i=x_0 + i \cdot h \quad x_N=b
Entonces se aproxima la integral: \int_a^b \!\!\!\! f(x)dx = h\sum_{i=1}^N f\left( x_i -\frac{h}{2} \right)
Entonces el error en cada intervalo es:
DI_i=\int_{x_{i-1}}^{x_i} \!\!\!\! [ f(x) - f\left( x_i -\frac{h}{2} \right) ] dx
Si desarrollo el polinomio de Taylor alrededor de x_i-\frac{h}{2} obtengo:
f(x)=f\left( x_i -\frac{h}{2} \right)+f'\left( x_i -\frac{h}{2} \right) \left( x-x_i +\frac{h}{2} \right)+\frac{f''(\xi)}{2} \left( x-x_i +\frac{h}{2} \right)^2
Si calculo la primera integral:
\int_{x_{i-1}}^{x_i} \!\!\!\! f'\left( x_i -\frac{h}{2} \right) \left( x-x_i +\frac{h}{2} \right) dx = f'\left( x_i -\frac{h}{2} \right) \left[ \left. \frac{\left( x-x_i +\frac{h}{2} \right)^2}{2} \right|_{x_{i-1}}^{x_i} \right]=f'\left( x_i -\frac{h}{2} \right) \left[ \frac{h^2}{8}-\frac{h^2}{8} \right] =0
La segunda integral es:
\int_{x_{i-1}}^{x_i} \!\!\!\! \frac{f''(\xi)}{2} \left( x-x_i +\frac{h}{2} \right)^2 dx = \frac{f''(\xi)}{2} \left[ \left. \frac{\left( x-x_i +\frac{h}{2} \right)^3}{3} \right|_{x_{i-1}}^{x_i} \right] = \frac{f''(\xi)h^3}{24}
Entonces: DI_i=\frac{f''(\xi)h^3}{24} \leq M \frac{h^3}{24} siendo M \geq \sup_{x\in [a,b]} f''(x)
El error de truncamiento es entonces:
R_T=\sum_{i=1}^N |DI_i| \leq \sum_{i=1}^N M \frac{h^3}{24}=NM\frac{h^3}{24}=(b-a)M\frac{h^2}{24}
==== Diagrama de Flujo ====
Para no hacer el diagrama de flujo lo escribo en pseudo-código:
LEER a,b,tol
FA=f(a)
FB=f(b)
REPETIR
c=a-FA*(b-a)/(FB-FA)
FC=f(c)
SI FC*FA<0
HACER
b=c
FB=FC
SINO HACER
a=c
FA=FC
FIN SI
HASTA |FC|p=\frac{1+\sqrt{5}}{2}=1.61...
Así como se ha escrito evalúa una sóla función en cada iteración
FC=f(c)
Por lo que la eficiencia del método es igual al orden.
==== Ejercicio 1 ====
==== Ejercicio 2 ====
\left\{ \begin{array}{l}
u''+u'+u=0 \\
u(0)=1 \\
u'(0)=1 \end{array} \right.
Haciendo v(t)=u'(t) la ecuación se transforma en el sistema:
\left\{ \begin{array}{rcl}
u' & = & v \\
v' & = & -u-v \end{array} \right.
Con las condiciones iniciales:
\left\{ \begin{array}{rcl}
u(0) & = & 1 \\
v(0) & = & 1 \end{array} \right.
Para escribir en forma matricial defino: \vec{u}=\left[ \begin{array}{c} u \\ v \end{array} \right].
\vec{f}(t,u,v)=\left[ \begin{array}{c} v \\ -u-v \end{array} \right].
Entonces el problema es: \left\{ \begin{array}{rcl} \vec{u'}(t) & = & \vec{f}(t,u,v) \\ \vec{u}(0) & = & [1,1]^T \end{array}\right.
Para responder a los V/F consideramos que u'(0)=1 por dato de enunciado y por lo tanto u es creciente en t=0. Además v'(0)=-u'(0)-v'(0)=-1-1=-2 y entonces v es decreciente en t=0, y como v es u', por lo tanto u' es decreciente en t=0.
Con esto obtenemos:
- V
- F
- F
- V
Ahora vamos a calcular **Euler-explícito**, es decir: \vec{u}_{n+1}=\vec{u}_n+h\cdot \vec{f}(t_n,u_n,v_n)
El \vec{u}_1=\vec{u}_0+h\cdot \vec{f}(t_0,u_0,v_0)=\left[\begin{array}{c} 1 \\ 1 \end{array}\right] + 0.1 \cdot \left[\begin{array}{c} 1 \\ -2 \end{array}\right]=\left[\begin{array}{c} 1.1 \\ 0.8 \end{array}\right]
Por lo tanto u_1=1.1 y {u'}_1=0.8
Ahora usaremos el método de **Runge-Kutta**, que para sistemas es: \vec{u}_{n+1}=\vec{u}_n+h\cdot \vec{f}\left( t_n+\frac{h}{2} , \vec{u_n}+\frac{h}{2}\vec{f}(t_n,u_n,v_n) \right).
Vemos que \vec{f}(t_0,u_0,v_0)=\left[\begin{array}{c} 1 \\ -2 \end{array}\right] Entonces \vec{u_0}+\frac{h}{2}\vec{f}(t_0,u_0,v_0)=\left[\begin{array}{c} 1 \\ 1 \end{array}\right]+0.05\cdot \left[\begin{array}{c} 1 \\ -2 \end{array}\right]=\left[\begin{array}{c} 1.05 \\ 0.9 \end{array}\right]
Entonces: \vec{u}_1=\left[\begin{array}{c} 1 \\ 1 \end{array}\right]+0.1\cdot \vec{f}(0,1.05,0.9)=\left[\begin{array}{c} 1 \\ 1 \end{array}\right]+0.1\cdot \left[\begin{array}{c} 0.9 \\ -1.95 \end{array}\right]=\left[\begin{array}{c} 1.09 \\ 0.805 \end{array}\right]
Por lo tanto con este método: u_1=1.09 y {u'}_1=0.805
Para usar el método de **Adams-Bashfort** debemos usar antes los valores de u_1 y {u'}_1 como valores de arranque calculados con otro de los métodos anteriores. Como este método de Adams-Bashfort es de orden 2, entonces usaremos el método de Runge-Kutta de orden 2. Es decir \vec{u}_1=\left[\begin{array}{c} 1.09 \\ 0.805 \end{array}\right]. Entonces:
\vec{f}_0=\vec{f}(t_0,u_0,v_0)=\left[\begin{array}{c} 1 \\ -2 \end{array}\right]
\vec{f}_1=\vec{f}(t_1,u_1,v_1)=\left[\begin{array}{c} 0.805 \\ -1.895 \end{array}\right]
\vec{u}_2=\left[\begin{array}{c} 1.09 \\ 0.805 \end{array}\right]+0.05\cdot \left( 3\cdot \left[\begin{array}{c} 0.805 \\ -1.895 \end{array}\right] - \left[\begin{array}{c} 1 \\ -2 \end{array}\right] \right)=\left[\begin{array}{c} 1.16075 \\ 0.62075 \end{array}\right]
Por lo tanto con este método: u_2=1.16075 y {u'}_1=0.62075
===== Discusión =====
Si ves algo que te parece incorrecto en la resolución y no te animás a cambiarlo, dejá tu comentario acá.
Mi mail es [[gaston_k264@hotmail.com|GastonK]]