====== 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]]