1 Encontrar raíces de funciones es uno de los problemas más comunes en ingeniería Los métodos numéricos para encontrar raíces de funciones son utilizados cuando las técnicas analíticas no pueden ser aplicadas. Esto último depende, en gran medida, de la naturaleza de la función f(x). Clase 6 2 PV RT V V 2 2 1 f ln(Re )C f k 8 V3 i zij F F (1 q) 0 i En general puede representarse por : f ( x) 0 Clase 6 3 f ( x) 0 y = f(x) 0 x Solución Clase 6 4 Dada una función f(x) Se trata de hallar un valor x* tal que : f(x*)=0 Es decir, encontrar las soluciones de la ecuación f(x) = 0 Este procedimiento será más o menos complicado dependiendo de la expresión algebraica de la función f(x). Clase 6 5 Solución Iterativa A partir de un valor inicial x0 Se genera una secuencia x0, x1, x2, x3, ….. Xn lim * xn / xn x n Clase 6 6 Raíces de Funciones: Conceptos básicos Error del método En xn x* Restricciones a) x* se sitúa dentro de I a, b f ( x) f ( x) C b) Hay una sola raiz en I ( x R) * 7 Clase 6 6 Clase 7 Estimar un valor inicial para la solución buscada Usar una fórmula para actualizar (acelerar) la solución aproximada Usar un criterio para detener el proceso de actualización Clase 6 8 Métodos Iterativos Conceptos Básicos Inicio Aproximaci ón Inicial NO Fórmula de Actualizació n Converg e? Fin SI Clase 6 9 Debe distinguirse entre el proceso iterativo completo y la fórmula de actualización La verificación del término “Satisfactorio” del proceso es esencial y debe Anticipar todas las posibles salidas del método iterativo Debe incluirse test de validación de la consistencia de datos Clase 6 10 Criterios de convergencia › Error Absoluto f ( x ) xi 1 xi › Error Relativo f ( xi 1 ) f ( xi ) f ( xi ) Clase 6 xi 1 xi xi 11 Existen muchos métodos para hallar raíces de funciones: › › › › › › Método de Bisección Método de Newton-Raphson Método de la Secante Método de Método de la Regla Falsa (Regula Falsi) Método de Punto fijo Método de Wegstein Todos estos métodos comparten las mismas características: Clase 6 12 La búsqueda de la raíz se inicia en: › un intervalo conocido donde se encuentre la raíz o, › un punto inicial cercano a la raíz. La raíz encontrada es una aproximación a la raíz Clase 6 13 Encuentra la raíz de una función dado un intervalo Se basa en el teorema de Bolzano: Teorema de Bolzano: Si f(x) es una función continua en el intervalo [a, b], y si, además, en los extremos del intervalo la función f(x) toma valores de signo opuesto (f(a)*f(b) < 0), entonces existe al menos un valor c (a, b) para el que se cumple: f(c) = 0. Clase 6 14 Método de la Bisección: 1. Establecer: f(x): función a la cual se le busca una raíz. [a, b]: intervalo para iniciar la búsqueda > 0 : margen de error 2. Calcular: c = (a+b)/2 si |f(c)| < entonces, c es la raíz, finalizar. de lo contrario, si f(a)*f(c)<0 entonces, b = c de lo contrario, a = c 3. Repetir el paso 2 hasta que se finalice. y = f(x) Y a c a cb c b X Existe una el c intervalo [a, b] ya que f(a)*f(b) <lo 0 de Sea Volvemos Como c la = raíz (a+b)/2. araíz calcular seen encuentra Si f(c) = (a+b)/2 (a+b)/2. en = el intervalo 0 entonces ySirepetimos f(c) [c, [a, c= es b] c] el 0laporque proceso entonces raíz, de f(c)*f(b) f(a)*f(c) hasta c contrario, es(Teorema la que raíz, se<la de obtenga 0, raíz lo se Bolzano) encuentra contrario, entonces la raíz. cambiamos la enraíz el intervalo se encuentra el valor [a, de en c]b aelsipor intervalo f(a)*f(c) el de c. [a, < c]0sió f(a)*f(c) en el intervalo<[c, 0 ó en b] el si f(c)*f(b) intervalo [c, <b]0.si f(c)*f(b) < 0. Clase 6 16 Ejemplo: Hacer un programa en MATLAB que permita obtener la raíz de la función por el Método de la Bisección: f ( x) 1 1 6 2 2 ( x 0.3) 0.01 ( x 0.9) 0.04 Clase 6 17 Ejemplo: La función 1 1 f ( x) 6 2 2 ( x 0.3) 0.01 ( x 0.9) 0.04 Clase 6 18 Clase 6 19 Ejemplo: Interfaz Gráfica Clase 6 20 Y X1 X 0 X 2 X1 f ( X1 ) f ´( X 1 ) f (X0) f ´( X 0 ) Cuál es el valor aproximado para la raíz? y = f(x) X2 X1 X X0 ( Xeje ) de la línea tangente a la gráfica Aproximación La aproximación inicial: X21 es X0la intersección conf el n 1X X X ,n 1 n n 1 de f en (X10, f(X10)) f ´( X n 1 ) Clase 6 21 X n X n 1 f ( X n 1 ) ,n 1 f ´( X n 1 ) La anterior función corresponde a la intersección de la recta tangente de f(x) en Xn-1 con el eje de las X. Dicha intersección, llamada Xn, corresponde a una aproximación de la raíz para la función f(x), cuando f(Xn)=0 ó f(Xn) ≤ epsilon Este método no siempre es convergente. Clase 6 22 El método es atrapado por una raíz imaginaria de la función f(x): Clase 6 23 Cuando la raíz es un Punto de Inflexión: f’’(x)=0 Clase 6 24 El método “cae” en un punto máximo ó mínimo (o en sus cercanías): Clase 6 25 Método de Newton-Raphson: Algoritmo f(x): función cuya raíz se va a encontrar. f’(x): derivada de f(x) X0 : punto de inicio partir del cual se va a iniciar el proceso. 2. Si f(X0)=0 entonces la raíz es X0, de lo contrario: f (X0) Calcule X1 mediante la ecuación: X 1 X 0 f ´( X 0 ) haga X0 igual a X1. 3. Repetir el paso 2 hasta que |f(X0)| ≤ epsilon 4. Mostrar X0 Clase 6 26 Ejemplo: Hacer un programa en MATLAB que permita obtener la raíz de la función por el Método de Newton1 1 Raphson: f ( x) 6 ( x 0.3) 2 0.01 Clase 6 ( x 0.9) 2 0.04 27 Ejemplo: La función 1 1 f ( x) 6 2 2 ( x 0.3) 0.01 ( x 0.9) 0.04 Clase 6 28 Ejemplo: La derivada f ( x) 2( x 0.3) ( x 0.3) 2 2( x 0.9) ( x 0.9) 0.01 Clase 6 2 2 0.04 2 29 Parte de un intervalo [x0,x1] Estima la pendiente de la recta que une los extremos del intervalo como: f’(x0)=(f(x1)-f(x0))/(x1-x0) Sustituye f’(x0) en el método de Newton para calcular la nueva raíz como: f ( X 0 )( X 1 X 0 ) X2 X0 f ( X1) f ( X 0 ) Los dos últimos puntos obtenidos x1, x2 se emplean en la iteración siguiente. Clase 6 30 Secante f ( X i )( X i X i1 ) X i1 X i f ( X i ) f ( X i1 ) Clase 6 31 Método de falsa posición Este método considera cual límite del intervalo está más próximo a la raíz. f(x1) f x2 f x1 x3 x2 x3 x1 De la figura Despejando f x1 x2 x1 x3 x1 f x2 f x1 xi 1 x1 x2 x3 x1 f x1 xi x1 f xi f x1 f(x2) Clase 6 f(x3) 32 Encontrar la raíz de la función, por los métodos de la secante y falsa posición: 667.38 0.146843x f x 1 e 40 0 x Clase 6 33 Iteración de punto fijo Un punto fijo de una función g(x) es un número p tal que g(p) = p. En general, la función f(x)=0 puede escribirse como x=F(x) Dado un problema f(x) = 0, se puede definir una función F(x) con un punto fijo en x de diferentes maneras. x3 + 4x2 –10 = 0 x = F1(x) = x + x3 + 4x2 -10 x = F2(x) = ½(10 – x3)½ Clase 6 34 Punto Fijo : Solución y y=x F(x*) y = g(x) x* Clase 6 x 35 Gráfica del algoritmo de punto fijo y y=x x1= F(x0) x3= F(x2) y = g(x) x2= F(x1) x2= F(x1) x3= F(x2) y=x y x1= F(x0) y = g(x) x1 x3 x2 x0 x x0 Clase 6 x1 x2 x 36 Casos de no convergencia y y=x y=x y y = g(x) y = g(x) x x Clase 6 37 Ejemplo Sea la función: x3 + 4x2 –10 = 0 tiene una raíz en [1, 2] Puede despejarse en: a. x = F1(x) = x – x3 – 4x2 +10 b. x = F2(x) = ½(10 – x3)½ c. x = F3(x) = (10/(4 + x))½ d. x = F4(x) = x – (x3 + 4x2 – 10)/(3x2 + 8x) Clase 6 38 Teorema de punto fijo Si g C [a, b] y g(x) C [a, b] para toda x C [a, b], además supongamos que existe g’(x) en (a, b) y una constante positiva k<1 cuando |g’(x)| <= k, pata toda x (a, b), Entonces, para cualquier punto p0 en [a, b] la sucesión definida por pn = g(pn–1), n >=1 Converge en el único punto fijo p en [a, b]. Clase 6 39 Análisis del ejemplo Caso (a) Caso (b) g1(x) = x – x3 – 4x2 +10 g2(x) = ½(10 – x3)½ g1’(x) = 1 – 3x2 – 8x g2’(x) = – 3/4x2(10 – x3)–½ g1’(1) = – 11, g1’(2) = – 28 g2’(1) = – 0.25, g1’(2) = – 2.1213 No se cumple |g1’(x)| <1 No se cumple |g1’(x)| <1 Caso (c) g3(x) = (10/(4 + x))½ g3’(x) = (– 5/3.16)(4 + x)–1.5 Caso (d) g4(x) = x – (x3 + 4x2 – 10)/(3x2 + 8x) Se cumple |g4’(x)| es aún menor que en el caso (c) para toda x en [1, 2] <= (– 5/3.16)(5)–1.5 <= 0.15 Para toda x en [1, 2] Clase 6 40 Metodo Wegstein y=x x F (x) x0 Valor inicial x1 F ( x0 ) y F(x1) y = F(x) F(x0) xi 1 t F ( xi ) (1 t ) xi t s 1 1 s x0 x1 x2 x F ( xi ) F ( xi 1 ) xi xi 1 41 Clase 6 6 Clase 41 Tarea 17. Un abrevadero de longitud L tiene una sección transversal en forma de semicírculo con radio r (véase la figura) Cuando se llena de agua hasta una distancia h de la parte superior, el volumen V de agua es V = f(r,h) Escriba un programa en MATLAB amigable para el usuario que lea los datos de este problema y encuentre la profundidad h del abrevadero. Utilice el método de Wegstein para encontrar la solución. r h L Clase 6 42 MÉTODOS NUMÉRICOS Sistemas de ecuaciones no lineales f1(x,y)=0 f2(x,y)=0 Clase 6 43 SISTEMAS DE ECUACIONES NO LINEALES y f1(x, y)=0 y* f2(x, y)=0 x* x Clase 6 44 SISTEMA DE ECUACIONES NO LINEALES 10 8 x xy 10 2 6 4 (2, 3) y 3xy 2 57 2 0 1 1.5 2 2.5 3 3.5 4 4.5 -2 Clase 6 45 5 f1 ( x, y ) x 10 x y 8 2 2 Clase 6 46 f1 ( x, y ) xy x 10 y 8 2 Clase 6 47 Clase 6 48 Clase 6 49 MÉTODO DE PUNTO FIJO EN SISTEMAS DE ECUACIONES NO LINEALES 1. 2. 3. 4. 5. Considera la intersección de dos funciones no lineales f1(x, y)=0 y f2(x, y)=0. La intersección de las curvas f1(x, y)=0 y f2(x, y)=0 nos da la raiz (xr, yr). El método consiste en obtener las funciones que tengan las mismas raices (xr, yr): x=g1(x, y) y=g2(x, y) Considerar un valor inicial (x0, y0), como aproximación a la raíz, evaluar: x1=g1(x0, y0) y1=g2(x0, y0) El proceso se repite n veces hasta tener valores 50 Clase 6 muy cercanos a las raíces. 5. El proceso se repite n veces hasta tener valores muy cercanos a las raíces. x1i 1 g1 ( x i , y i ) y1i 1 g 2 ( x i , y i ) METODO DE DESPLAZAMIENTOS SUCESIVOS x1i 1 g1 ( x i , y i ) y1i 1 g 2 ( x i 1 , y i ) Clase 6 51 MÉTODO DEL PUNTO FIJO EN SISTEMAS DE ECUACIONES NO LINEALES x 2 xy 10 10 xi 1 ( xi yi ) yi 1 57 yi 3x ( xi 1 xi ) 2 ( yi 1 yi ) 2 y 3xy 2 57 iteració i xi yi erri 0 1.5 3.5 --- 1 2.0000 3.4480 0.5027 2 1.8355 2.9875 0.4890 3 2.0734 3.1319 0.2782 4 1.9211 2.9428 0.2427 5 2.0559 3.0626 0.1803 6 1.9537 2.9572 0.1468 7 2.0363 3.0365 0.1145 8 1.9713 2.9721 0.0915 x= 26 Clase y=3 52 MÉTODO DEL PUNTO FIJO EN SISTEMAS DE ECUACIONES NO LINEALES Sin embargo, con el método del punto fijo, la convergencia depende de la manera en que se formulen las ecuaciones de recurrencia y de haber elegido valores iniciales lo bastante cercanos a la solución. En las dos formulaciones siguientes el método diverge. x = (57 - y)/3y2 iteración xi yi 1 1.5 3.5 2 1.45578231 5.166666667 3 0.64724246 5.413376566 x = (10 - x2)/y y = (10 - x2)/x y = 57 - 3xy2 iteración xi yi 1 1.5 3.5 2 2.21428571 -24.375 3 -0.20910518 429.713648 Clase 6 53 MÉTODO DE NEWTON RAPHSON EN SISTEMAS DE ECUACIONES NO LINEALES y u(x, y) y1 v(x, y) x1 x Clase 6 54 MÉTODO DE NEWTON RAPHSON EN SISTEMAS DE ECUACIONES NO LINEALES Este procedimiento corresponde, analíticamente, a extender el uso de la derivada, ahora para calcular la intersección entre dos funciones no lineales. Al igual que para una sola ecuación, el cálculo se basa en la expansión de la serie de Taylor de primer orden, ahora de múltiples variables, para considerar la contribución de más de una variable independiente en la determinación de la raíz. Para dos variables, la serie de Taylor de primer orden se escribe, para cada ecuación no lineal: f1 ( x1 , x2 ) f1 ( x1i , x2i ) f1 x1 f 2 f 2 ( x1 , x2 ) f 2 ( x , x ) x1 i 1 i 2 ( x1 x1i ) xi f1 x2 f 2 ( x1 x ) x2 xi Clase 6 ( x2 x2i ) 0 xi ( x2 x2i ) 0 i 1 xi 55 f1 x1 f 2 x1 ( x1 x1i ) xi f1 x2 f 2 ( x1 x ) x2 xi ( x2 x2i ) f1 ( x1i , x2i ) xi ( x2 x2i ) f 2 ( x1i , x2i ) i 1 xi 2i ( x2 x2i ) ( x1 x ) i 1 i 1 f1 x1 f 2 x1 1i xi 1i xi f1 x2 f 2 x2 2i f1 ( x1i , x2i ) xi 2i f 2 ( x1i , x2i ) xi Clase 6 56 f1i x1i f 2 x 1 f i i f1 x2 1 i * i i f 2 2 f2 x2 i 1 J * f x1i 1 x1i 1i x2i 1 x2i 2i Clase 6 57 MÉTODO DE NEWTON RAPHSON EN SISTEMAS DE ECUACIONES NO LINEALES x2 + xy - 10 = 0 y + 3xy2 - 57 = 0 iteración xi yi ui vi ux uy vx vy Jacobiano 1 1.5 3.5 -2.5 1.625 6.5 1.5 36.75 32.5 156.125 2 2.03602882 2.8438751 -0.064374959 -4.756208497 6.915932746 2.036028823 24.26287675 35.74127004 197.7843034 3 1.99870061 3.002288563 -0.004519896 0.04957115 6.999689781 1.998700609 27.04120985 37.00405588 204.9696292 4 1.99999998 2.999999413 -1.28609E-06 -2.21399E-05 6.999999381 1.999999984 26.99998944 36.99999267 204.9999473 5 2 3 0 2.23821E-12 7 2 27 37 205 x=2 y=3 Clase 6 58 MÉTODO DE NEWTON RAPHSON EN SISTEMAS DE ECUACIONES NO LINEALES Sistema de ecuaciones lineales por el método de Newton Raphson 4.5 4 3.5 y iteraciones 3 2.5 x 2 1.5 x 2 xy 10 1 y 3xy 2 57 0.5 0 1 2 3 4 convergencia Clase 6 5 6 59