Introducción a los Métodos Numéricos Redactado por: Alejandra Mariel Reyes Salazar Definición Los métodos numéricos son técnicas de análisis mediante las cuales es posible formular problemas de tal manera que se puedan resolver utilizando operaciones aritméticas. Las técnicas más utilizadas son usadas para resolver: ε ε ε ε ε Ajuste de curvas Sistemas de ecuaciones lineales Ecuaciones no lineales Integración Ecuaciones diferenciales (ordinarias y parciales) Ecuaciones no lineales Son funciones que no cumplen con los criterios de linealidad: ε Si su argumento es la suma de dos elementos, entonces deberá ser lo mismo que la suma de la función con cada elemento (abrir sumas) T(x + y) = T(x) + T(y) ε Si algún elemento de su argumento está siendo multiplicado por alguna constante arbitraria, entonces deberá ser lo mismo que la constante arbitraria multiplique a la función con el elemento como argumento (sacar escalares) T(kx) = kT(x) Polinomios, funciones radical, logarítmicas, exponenciales, trigonométricas, trigonométricas inversas e hiperbólicas, son algunos ejemplos de ecuaciones no lineales. Las soluciones de este tipo de ecuaciones se les llaman raíces. Para resolver este tipo de ecuaciones, existen varios métodos numéricos que se pueden clasificar de la siguiente manera. Cerrados o acotados: (Requieren de dos valores de x que encierren a la raíz) Abiertos: (Requieren de un valor de x o dos pero que no necesariamente encierren a la raíz) ε Bisección ε Falsa posición (“Regula falsi”) ε Punto fijo (“Ping pong”) ε Newton-Raphson ε Secante ε Müller En los ámbitos de la ciencia y la ingeniería es común encontrarse con problemas en los que se requiera resolver ecuaciones no lineales que no se pueden resolver analíticamente o que resulta muy difícil. Para estos casos, es recomendable utilizar algún método numérico. En este documento nos enfocaremos exclusivamente al método de Newton-Raphson. 1 Método de Newton Raphson Método de Newton-Raphson Es uno de los métodos más usados en la ingeniería por llegar al resultado del problema planteado de forma muy rápida. Se basa en trazar rectas tangentes que “toman la forma” de la función por medio de su primera derivada. Supóngase una función f (x) a la que se desea calcular su raíz. Evaluando un valor x1 cercano a la raíz en la función y trazando una recta tangente al punto x1, f(x1) se obtiene un nuevo valor x2 que es mucho más cercano a la raíz que x1. y f (x) f (x1) Raíz x2 x3 x1 x f (x2) Para encontrar el valor de x2, se tomará la ecuación de la recta, f ( x2 ) − f ( x1 ) = m( x2 − x1 ) Incógnita Se supone que f (x2) sea igual a 0 para que x2 sea una raíz de f (x) − f ( x1 ) = m( x2 − x1 ) Pero en el punto x1, f (x1) la pendiente m puede tomarse como f ’ (x1) por ser la mejor aproximación a la pendiente en dicho punto. − f ( x1 ) = f ' ( x1 )( x 2 − x1 ) x 2 − x1 = − f ( x1 ) f ' ( x1 ) Y despejando x2. x 2 = x1 − f ( x1 ) f ' ( x1 ) 2 Método de Newton Raphson Si buscamos una mejor aproximación a la raíz utilizando este nuevo valor x2 x3 = x2 − f ( x2 ) f ' ( x2 ) Si nuevamente se busca otra aproximación que es cada vez más cercana a la raíz, x 4 = x3 − f ( x3 ) f ' ( x3 ) Entonces podemos generalizar la ecuación de la siguiente manera, xk +1 = xk − f ( xk ) f ' ( xk ) k ∈Z+ que es la ecuación de Newton-Raphson. Inconvenientes ¿Qué pasa en un punto crítico? y f ’ (x) = 0 f (x) f ’ (x) = 0 x Raíz Se sabe por cálculo diferencial que un punto crítico es aquel valor de x que hace que la primera derivada de una función sea 0 (f ‘ (x) = 0). x 2 = x1 − f ( x1 ) f ' ( x1 ) → x2 = x1 − f ( x1 ) 0 El método de Newton-Raphson se indetermina en los puntos críticos por haber una división por cero. En un punto crítico, este método es ineficaz porque la recta tangente nunca cruza el eje de las abscisas y no se obtiene un nuevo valor de x. 3 Método de Newton Raphson Si al resolver una ecuación, llegamos a un punto crítico, o que la primera derivada de la función f ‘ (x) se aproxime a cero, se sugiere intentar un nuevo valor mayor o menor (sumando o restando una unidad) o intentar un valor cercano a la raíz. El método de Newton-Raphson además, resulta poco conveniente cuando se tenga una función f (x) cuya primera derivada sea muy complicada obtener. Otro inconveniente, es cuando se resuelva una función con raíces reales repetidas, como la siguiente: y f (x) = x5 x En las raíces que son repetidas, dicha raíz puede ser también un punto crítico o un punto de inflexión, donde el método de Newton-Raphson es ineficaz. Como se puede notar en el gráfico anterior, la raíz también es un punto de inflexión. Naturalmente, este método funciona para obtener las raíces reales de las funciones, más no raíces complejas. Las raíces complejas nunca cruzan el eje de las abscisas y su comportamiento en las funciones produce puntos críticos o puntos de inflexión en dichas funciones. Cuando se tenga una función que presente alguno de estos inconvenientes descritos, se sugiere emplear otro método numérico, como Secante o Müller. Algoritmo para encontrar raíces 1. Tomar una primera aproximación (x1)* cercana a la raíz. Si puede, haga un bosquejo de f(x). Esto es para evitar los puntos críticos y resolver más rápido el problema. 2. Obtenga la primera derivada de la función (f ‘ (x)). 3. Evalúe x1 en la función f(x) y en la primera derivada f ‘ (x). 4. Sustituya los valores de x1, f(x1), f ‘ (x1) en la ecuación de Newton-Raphson para encontrar una nueva aproximación x2. x2 = x1 − f ( x1 ) f ' ( x1 ) *En muchos libros de Métodos Numéricos en lugar de x1 utilizan la notación x0 como la primera aproximación a la raíz, siendo exactamente lo mismo en este texto. 4 Método de Newton-Raphson 5. Si x2 se aproxima a x1 en las cifras decimales o tolerancia deseadas, entonces tomar x2 como el valor de la raíz. Si no, volver a aplicar los pasos 3, 4 y 5 usando ahora el valor de x2 y encontrar una nueva aproximación, hasta que se llegue a un resultado con la tolerancia deseada. A cada una de las repeticiones del algoritmo se le llama Iteración. Algunos ejemplos Los métodos numéricos se caracterizan porque tener algo en común: se tienen que realizar muchos cálculos aritméticos para resolver problemas haciendo tedioso el aplicarlos. En este documento se utilizó una hoja de cálculo de MS Excel para hacer los cálculos y encontrar las raíces de las ecuaciones propuestas. Es recomendable que al aplicar algún método numérico se utilice alguna hoja de cálculo, un programa o paquete de programación (como Matlab o Scilab), o utilizar una calculadora. a) Aproxime el valor de 2 hasta 5 decimales. Utilice x1 = 1 La incógnita es el valor positivo de la raíz cuadrada de 2. Por tanto se puede expresar como x= 2 Elevando al cuadrado, se tiene que x2 = 2 Por lo que es igual esto a, f (x) = x2 – 2 = 0 Derivando con respecto a x, f ‘ (x) = 2x Para comenzar los cálculos, se debe empezar con un “valor inicial” de x, que es x1 para obtener la nueva aproximación a la raíz. Con un bosquejo de la gráfica de la función, se puede ver claramente que la raíz positiva está entre el 1 y el 2. y f (x) = x2 - 2 1 2 x 5 Método de Newton-Raphson Utilizando el valor de x1 propuesto por el problema, en la siguiente tabla se muestran las iteraciones que fueron realizadas, con sus respectivos valores de f (x) y de f ‘ (x) calculados. Aproximación x 1 f (x) -1 f ' (x) 2 Iteración 1 Iteración 2 Iteración 3 Iteración 4 Iteración 5 1.5 1.41666667 1.41421569 1.41421356 1.41421356 0.25 0.00694444 6.0073E-06 4.5106E-12 0 3 2.83333333 2.82843137 2.82842712 2.82842712 El problema pide aproximar el valor de la 2 hasta 5 decimales, refiriéndose a que 5 decimales sean constantes. En la iteración 4 se llega a las cifras decimales que requiere el problema, por lo que se toma ese valor ( 2 ≈ 1.41421) como la solución del problema. Se puede comprobar que este valor es muy aproximado al que se obtiene en una calculadora. 3 2 b) Obtenga la raíz real del siguiente polinomio: 4x - 10x + x - 1 = 0. Considere una tolerancia de 1 x 10-5 En la mayoría de los problemas de libro el valor de x1 ya se nos proporciona. Pero en este problema no se nos da el valor de x1. Sin embargo, el valor de x1 se puede obtener fácilmente evaluando en el polinomio varios valores de x usando divisiones sintéticas. Las divisiones sintéticas realizadas evaluando x = 1, x = 2, x = 3 se muestran a continuación: 4 -10 1 -1 4 -6 -6 -5 -5 -6 4 1 4 -10 1 -1 8 -2 -4 -3 -6 -7 4 2 4 -10 12 4 2 1 6 7 -1 21 20 3 Se nota claramente que hay un cambio de signo (de negativo a positivo) entre los valores 2 y 3, por lo que entre estos dos valores hay una raíz. Cualquiera de los dos valores puede ser x1. Se escogió 2 como x1. La función y su respectiva primera derivada, son las siguientes: f ( x) = 4 x 3 − 10 x 2 + x − 1 = 0 f ' ( x) = 12 x 2 − 20 x + 1 Una tolerancia de 1 x 10-5 implica que 5 decimales sean precisos, en otras palabras, que no cambien dichas cifras decimales entre una iteración y otra. Las iteraciones que se realizaron con sus respectivos resultados de x, f (x) y f ‘ (x) se muestran en la tabla siguiente: Aproximación Iteración 1 Iteración 2 Iteración 3 Iteración 4 Iteración 5 x 3 2.59183673 2.45549494 2.43973283 2.43952885 2.43952882 f (x) 20 4.05953302 0.38212977 0.00482053 8.02E-07 1.9984E-14 f ' (x) 49 29.7746772 24.2435659 23.6328986 23.6250351 23.6250338 En la iteración 5 se satisface la tolerancia requerida por el problema. Y se obtiene que la raíz real del polinomio es x = 2.43952 6 Método de Newton-Raphson c) Encuentre el valor de n que satisfaga la siguiente ecuación: n 4 n = 192 Para resolver este problema por el método de Newton-Raphson se puede aplicar directamente con la función tal y como está, pero el obtener su primera derivada sería más complicado. Para facilitar los cálculos se toman logaritmos de ambas partes de la ecuación, ( ) ln n 4 n = ln 192 Aplicando propiedades de los logaritmos, ln(n) + n ln 4 = ln 192 Por lo que se puede expresar como una función de la variable n, que es mucho más sencilla de derivar que la ecuación original. f (n) = ln(n) + (ln 4)n − ln 192 = 0 Derivando con respecto a n, f ' ( n) = 1 + ln 4 n Para empezar el cálculo de la nueva aproximación, se restringirá el uso de n = 0 porque la función logaritmo no está definida para este valor de n. Y se tomará n1 = 1 por ser un valor pequeño y sencillo de calcular en la función y en su derivada. Las iteraciones realizadas con sus respectivos resultados se muestran en la tabla siguiente: n f (n) f ' (n) Aproximación Iteración 1 Iteración 2 Iteración 3 Iteración 4 Iteración 5 1 2.62226466 2.99463958 2.99999907 3 3 -3.87120101 -0.65822634 -0.00921952 -1.5996E-06 -4.7962E-14 0 2.386294361 1.76764412 1.72022436 1.7196278 1.71962769 1.71962769 n Sustituyendo n = 3 en la ecuación original n 4 = 192 , se comprueba que satisface la ecuación y por tanto, es la raíz de la ecuación. Aplicación a termodinámica: Ecuación de estado de Van der Waals para gases reales. La ecuación de estado para gases ideales es muy bien conocida para cualquier estudiante o profesionista de Química o carreras afines. pv = RT donde p = Presión v = Volumen molar R = Constante universal de los gases T = Temperatura 7 Método de Newton-Raphson Siendo el volumen molar: v= V n V = Volumen del gas n = Cantidad de sustancia (mol) El modelo del gas ideal es el más sencillo de los que se utilizan en Fisicoquímica ya que considera a las moléculas de los gases como partículas puntuales, que no tienen volumen y que no interactúan entre ellas. Naturalmente, las moléculas de los gases sí ocupan un volumen determinado y sí existen interacciones (sea de atracción o repulsión) entre ellas. Por tanto, las propiedades de estado (presión, temperatura, volumen) que se calculen usando este modelo, no son las que realmente tiene el sistema. En el siglo XIX, Johannes Van der Waals propuso un nuevo modelo para gases reales haciendo una corrección al modelo del gas ideal considerando las interacciones entre las moléculas y el volumen que ocupa cada una de ellas. Van der Waals agrega 2 parámetros adicionales que la diferencian de la ecuación de estado para gases ideales, que son a y b. p= RT a − 2 v −b v Ecuación de estado de Van der Waals para gases reales donde p = Presión v = Volumen molar R = Constante universal de los gases T = Temperatura a = Parámetro de corrección para las fuerzas de atracción entre las moléculas b = Parámetro de corrección para el volumen propio de las moléculas A partir de esta ecuación propuesta por Van der Waals, surgieron muchas otras ecuaciones de estado cúbicas similares que describen mejor el comportamiento de los gases y que son las que se usan actualmente en la ingeniería (Peng-Robinson, Redlich-Kwong-Soave, etc.). ¿Por qué cúbicas? Desarrollemos la resta de fracciones. RT a − 2 v−b v RTv 2 − a (v − b) p= (v 2 )(v − b) p= pv 2 (v − b) = RTv 2 − a (v − b) pv 3 − pbv 2 − RTv 2 + av − ab pv 3 − ( pb + RT )v 2 + av − ab La ecuación que resulta es una función del volumen molar. Por tanto, se puede expresar: 8 Método de Newton-Raphson f (v) = pv 3 − ( pb + RT )v 2 + av − ab = 0 Que es un polinomio de tercer grado (o cúbico) respecto al volumen molar. Los coeficientes que acompañan a la variable v son siempre positivos, a excepción de aquellos que les anteceda un signo negativo. Esto se justifica porque la presión, temperatura y las constantes (tanto R como los parámetros de Van der Waals) son siempre positivas. Analizando la función, se notan “3 saltos” (3 cambios) en los signos de los coeficientes de f(v), por lo que hay 3 posibles raíces reales positivas. En f (-v), no hay ningún cambio de signo en los coeficientes, por lo que no hay raíces reales negativas. Si completamos el cuadro de signos de Descartes, se obtienen estas posibilidades: ℝ + 3 1 ℂ 0 0 0 2 Con el cuadro de signos ya completo, podemos afirmar que el primer renglón de la tabla no tiene sentido físico (¿Puede un gas ocupar tres volúmenes diferentes a condiciones dadas de presión y temperatura?), dejando al segundo renglón como la única posibilidad con sentido físico: Sólo una raíz real positiva y dos raíces complejas. ¿Cómo calculamos el volumen molar de algún gas a ciertas condiciones de presión y temperatura? El polinomio de tercer grado respecto al volumen molar se puede resolver usando un método analítico (método de Tartaglia-Cardano), pero resulta demasiado tedioso y poco práctico aplicarlo. En cambio, un método numérico es la opción más viable para encontrar la única raíz real. En este documento se usará el método de Newton-Raphson. Algoritmo para resolver la ecuación del volumen molar de Van der Waals 1. Obtener la primera aproximación v1 usando la ecuación de estado del gas ideal. v1 = RT p 2. Sustituir los valores que se tienen como dato (presión, temperatura y las constantes a, b y R) en el polinomio cúbico. Esto es para facilitar los cálculos aritméticos. 3. Derivar el polinomio construido en el paso 2 con respecto al volumen molar. 4. Evaluar v1 en f (v) y en f ‘ (v) 5. Sustituir v1, f (v1) y f ‘ (v1) en la ecuación de Newton-Raphson para encontrar una nueva aproximación al volumen real. v k +1 = v k − f (v k ) f ' (v k ) 9 Método de Newton-Raphson 6. Si vk+1 se aproxima a vk en las cifras decimales o tolerancia deseadas, entonces tomar vk+1 como el valor de la raíz. Si no, iterar nuevamente ahora utilizando el valor de vk+1, hasta que se llegue a un resultado con la tolerancia deseada. Ejemplo Utilizando la ecuación de estado para gases reales de Van der Waals, calcule el volumen molar (v) que ocuparía n-butano en las condiciones siguientes. El valor deberá tener una tolerancia de 1 x 10-6. Constantes de Van der Waals: p (atm) = 12 T (K) = 400 a (L2·atm/mol2) = 13.6844 R (L·atm/mol·K) = 0.082 b (L/mol) = 0.11639 La función del volumen y su respectiva primera derivada, después de sustituir los valores de p, T, a, b y R en ellas, son: f (v) = pv 3 − ( pb + RT ) v 2 + a v − ab = 0 f (v) = 12v 3 − 34.19668v 2 + 13.6844 v − 1.592727316 = 0 f ' (v) = 3 pv 2 − 2( pb + RT ) v + a f ' (v) = 36v 2 − 68.39336 v + 13.6844 La tabla siguiente muestra los valores obtenidos en cada iteración. v f (v) f ' (v) Gas ideal 2.73333333 25.37654788 95.70254933 Iteración 1 Iteración 2 Iteración 3 Iteración 4 Iteración 5 2.46817271 2.40132840 2.39710964 2.39709322 2.39709322 4.29042372 0.24063462 0.00092906 0.00000001 0.00000000 64.18532997 57.03909365 56.59886362 56.59715323 56.59715320 Por lo que el volumen molar del n-butano a dichas condiciones es v = 2.397093 L/mol 10