Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Diferenciación e Integración ANEXO: Método de interpolación Newton-Gregory U C M U C M 1 2 La diferenciación y la integración son operaciones muy frecuentes en computación científica. 1. Obtener analíticamente la derivada o integral de una función puede ser muy complicado e incluso imposible, hay que recurrir entonces a las técnicas numéricas. 2. Si únicamente conocemos el valor de la función en un conjunto de puntos (xi, fi), su derivada e integral sólo se pueden obtener numéricamente. Los sistemas físicos generalmente se modelan por medio de ecuaciones diferenciales. Existen muchas ecuaciones diferenciales que carecen de solución analítica, siendo posible obtener únicamente soluciones numéricas. Introducción x f(x) x0 f0 x1 f1 x1 f2 x3 f3 La diferenciación e integración numérica consiste en aproximar la derivada en un punto o la integral de una función f(x) en un intervalo. U C M 2 3 Diferenciación DIFERENCICIÓN: Consiste en aproximar la derivada de una función f(x) en un punto mediante la derivada en un punto de su polinomio de interpolación, bien porque: a) Obtener analíticamente la f’(x) puede ser muy complicado. Si no fuera así MatLab diff evalúa la derivada en el punto deseado. Ver anexo polyder. b) o porque, lo más usual, sólo se conozca f(x) discretamente en un conjunto de puntos {(xi,fi)}. Aquí las formulas de derivación son de gran utilidad, por ejemplo aplicando el desarrollo de Taylor y el teorema de valores intermedios. Objetivo de la diferenciación: Sean {(xi,fi)}i=0,1,..n f’(x)? en k=0,1,…,n es decir, estimar el valor de la derivada de f(x) en alguno de los xi conocidos. Consideraciones: La diferenciación numérica es un proceso muy inestable, es decir, sea En(x) el error cometido al aproximar f(x) con Pn(x), es decir, f(x)=Pn(x)+En(x) E’n(x) > En(x). Por ello es preferible que xk=xi para algún i=0,1,…,n. U C M 3 Ej4_1 4 En general, existen dos modos de resolver el problema de la diferenciación numérica: Estimando la derivada como una fórmulas de diferencias finitas obtenida a partir de la aproximación de Taylor. Derivando el polinomio de interpolación obtenemos otro polinomio que aproxima la derivada de la función en toda la región de interpolación. donde E’n(x) > En(x). Por ello es preferible que xk=xi para algún i=0,1,…,n. El algoritmo de diferenciación numérica es inestable: no es útil cuando se desean conocer derivadas de orden alto. Los errores iniciales, experimentales de los datos o los de redondeo del computador, aumentan en el proceso de diferenciación. Por tanto no se pueden calcular derivadas de orden alto. Diferenciación numérica U C M 4 5 Diferenciación: Polinomios de interpolación Basados en la derivación del polinomio de interpolación. Diferenciación directa: Calculando de forma aproximada la f’(x) usando diferencias finitas. Otros (Extrapolación de Richardson,…). DIFERENCIACIÓN NÚMERICA BASADA en los POLINOMIOS DE INTERPOLACIÓN Pn(x) Objetivo: Sea {(xi,fi)}i=0,1,..n f’(x)? en k=0,1,…,n Método: Derivando el polinomio de interpolación obtenido por alguno de los métodos estudiados. Si se desea conocer f’(x), se deriva el polinomio Pr(x) construido con {xk} y los siguientes r puntos {xk+1, xk+2, …, xk+n} y se evalúa Pr(x). Ejemplo sencillo: Sea {xi}i=0,1,..n un conjunto de datos equidistantes Método de Newton-Gregory (método de diferencias divididas cuando la distancia entre las xi’s es la misma) para determinar el polinomio de interpolación Pn(x) . Ya sabemos que es único y que no depende del método usado para hallarlo. U C M 5 Ej4_1 6 Diferenciación: Polinomios de interpolación (Ver anexo) ¿Cómo determinar f’(x) numéricamente con x equidistantes? Determinar Pn(x): partimos de {x0} y los siguientes puntos xi hasta el último, {xn}. (método de Newton-Cotes) Derivar Pn(x): Se evalúa P’n(x) en x0 y con ello la estimación de f’n(x): esta expresión es valida sólo para x equidistantes. U C M 6 Ej4_1 7 Diferenciación basada en los polinomios de interpolación Ejemplo: Con tabla de diferencias obtener la derivada de la función en el punto x = 0.0. El polinomio de interpolación según Newton_Gregory xi fi ∆fi ∆ 2fi ∆ 3fi ∆ 4fi 0.0 0.000 0.203 0.017 0.024 0.020 0.2 0.203 0.220 0.041 0.044 0.4 0.423 0.261 0.085 0.6 0.684 0.346 0.8 1.030 Un solo término: Dos términos: Tres términos: U C M 7 8 Diferenciación: Diferencias finitas DIFERENCIACIÓN NÚMERICA BASADA en DIFERENCIAS FINITAS Objetivo: Sea {(xi,fi)}i=0,1,..n f’(x)? en k=0,1,…,n Método general: Desarrollo de Taylor para discretizar la derivada. Ejemplo sencillo (derivada primera en un punto): f’(x)? en k=0,1,…,n. Conforme el h disminuye, el error de truncamiento se hace más pequeño: ) El valor optimo de h es aquél tal que la combinación del error de truncación y de redondeo sea pequeña. Si h disminuye O(h) se hace más pequeño pero el error de redondeo se hace más grande. Formula de diferenciación adelantada de 2 puntos U C M 8 Ej4_1 9 Errores de truncado y redondeo Recordemos que debido a la naturaleza discreta del computador los resultados numéricos no son exactos (acumulación de error de redondeo). Por ello, cuando calculamos derivadas numéricamente el error en la solución es la suma del error de trunado y el de redondeo. DOMINA EL ERROR DE TRUNCADO DOMINA EL ERROR DE REDONDEO error de truncado error de redondeo h límite o valor óptimo h Error Total Ejemplo: f(x)=atan(x) en x=sqrt(2) el valor óptimo de h es 1.5x10-8 Error truncamiento) D depende del eps El error redondeo es muy influyente ya que h es pequeño y puede hacer que la diferenciación sea inestable U C M 9 10 La derivada se puede aproximar numéricamente por diferencias finitas: En el caso de una recta f(x)=ax+b, la expresión anterior es el valor exacto. En otros casos nos proporciona un valor cuyo error podemos estimar usando la aproximación de Taylor: Reordenando: Diferenciación por Diferencias Finitas Diferencia Adelantada El error cometido al aproximar la derivada es función lineal de h (en este caso). Cuanto menor sea h, valores de f(x) más cercanos, la derivada es más precisa. Se denomina Error de Truncado o Discretización. U C M 10 11 Diferencia Centrada con dos puntos, reducimos el orden del error a O(h2). Si utilizamos los tres puntos, el error también es O(h2) pero con la mitad de valor. Diferenciación Diferencias Finitas U C M 11 12 Fórmulas primera derivada Fórmulas segunda derivada Fórmulas tercera derivada Fórmulas cuarta derivada Fórmulas de Derivadas Diferencias Finitas U C M 12 13 Determinar el error al calcular la derivada del ln(2) Considerando diferencias adelantadas U C M 14 Ejercicio propuesto sencillo Determinar las derivadas primeras de f(x) en el punto 0.5 por los métodos: Usando el polinomio de interpolación Diferencias finitas adelantada en dos puntos D.F. retrasada con dos puntos D.F. centrada con dos puntos Considerando los valores de h=0.5, toma los pares de datos (0,f(0)), (0.5,f(0.5)) y (1,f(1)) ¿Qué ocurre si tomas h=0.25 y h=0.75? U C M 14 15 f(x) = -0.1x^4-0.16x^3-0.5x^2-0.25x+1.2 x i-2 0.00 1.20000000 x i-1 0.25 1.10351563 x i 0.50 0.92500000 x i+1 0.75 0.63632813 x i+2 1.00 0.20000000 Valor real f'(xi)= -0.91250000 Diferencias divididas error Hacia adelante -0.859375 5.82% Hacia atrás -0.878125 3.77% Hacia centrada -0.912500 0.00% Ejercicio propuesto sencillo (algunas soluciones con diferencias finitas y su error real) U C M 16 Ejemplo en una dimensión: Diferencias finitas retrasadas Queremos calcular la temperatura (T) de un cuerpo puntual a lo largo del tiempo(t) dentro de un ambiente a temperatura constante (A=20ºC), sabiendo que sigue la ley indicada con un coeficiente temporal de transmisión (k=0.001 s-1). Necesitamos: (1) Elegir método de diferencias finitas (p.e.Retrasada con 2 puntos respecto al estado i) (2) Elegir paso temporal (∆t=250 s) en el que queremos saber la temperatura del cuerpo (3) La temperatura inicial a los 0 segundos (75ºC) Donde i indica el índice asociado al tiempo o al estado P.e. i=1, corresponde a 250 segundos, donde T1 depende de Ti-1=T0. Considerando los datos i tiempo Ti-1 (ºC) Ti (ºC) Soluciones i=1 250 s 75 64.00 i=2 500 s 64 55.20 i=3 750 s 55.2 48.16 i=4 1000 s 48.16 42.53 Se puede comparar estos datos con los dados por la solución analítica de la ley de transferencia: U C M 16 17 Ejemplo en una dimensión: Diferencias finitas centradas U(0)=u0 =0 U(1)=u 10 =1 NODOS: 0 1 2 3 4 ……….. 8 9 10 u0 u1 u2 u3 ……………. u9 u1 0 PROBLEMA DE UNA DIMENSION EN X. U C M 17 18 ……………………. Sistema de ecuaciones 11 incógnitas 11 ecuaciones Ya que hay que incorporar u0=0 y u10=1 U C M 19 . = Soluciones: 0.0000 0.0612 0.1288 0.2035 0.2861 0.3774 0.4784 0.5899 0.7132 0.8494 1.0000 COMPARA ESTA SOLUCIÓN CON LA EXACTA: U C M 20 Soluciones con V=1: 0.0000 0.0612 0.1288 0.2035 0.2861 0.3774 0.4784 0.5899 0.7132 0.8494 1.0000 Compara gráficamente las soluciones obtenidas con V=25 con las exactas dadas por la ecuación: Haz lo mismo con V=100 Diferencias finitas (Ejercicios propuestos) U C M 21 Diferencias finitas (Ejercicio propuesto) Queremos calcular la distribución longitudinal estabilizada de temperatura (T) de una barra larga y delgada de longitud L=10 m, considerando una temperatura ambiente constante (A=20ºC), un coeficiente espacial de transmisión (k=0.01 º/cm2), las temperaturas de los extremos son constantes y valen 40ºC y 600ºC Necesitamos: (1) Elegir el método de diferencias finitas (Centrada con 3 puntos en el punto i) (2) Elegir paso espacial (∆x=2 m) en el que queremos saber la temperatura del cuerpo (3) Las temperaturas en los extremos (T0m =40ºC y T10m = 600ºC) Longitud (m) Temperaturas (ºC) 0 40 2 135 4 234 6 341 8 462 10 600 Soluciones aproximadas: Se ha de resolver un sistema de ecuaciones U C M 21 22 Integración Numérica La integración numérica consiste en estimar el valor de la integral de una función f(x) en un intervalo. Método: Los métodos numéricos de integración aproximan la integral I(f) a una combinación lineal de valores de f(x) en un conjunto discreto de puntos {xi} dentro del intervalo a-b. donde los coeficientes Ai se determinan sustituyendo f(x) por su polinomio de interpolación Pn(x) dentro de la integral. Por ejemplo, considerando la fórmula de Lagrange (no explicado en el tema de ajustes) para determinar P(x): U C M 22 Ej4_1 23 Integración numérica Es posible integrar un gran conjunto de funciones empleando técnicas que nos proporcionan la primitiva F(x) de modo que F'(x) = f(x): Existen muchas funciones cuya integral se desconoce. Además, en algunos casos se desconoce la fórmula explícita de la función f(x) y solo conocemos una tabla de valores (xi , fi). En este caso se aproxima la integral a una combinación lineal de valores de la función f(x) en un conjunto discreto de puntos xi en el intervalo [a,b]. Para aproximar la integral utilizaremos una formula de cuadratura: Los coeficientes de esta fórmula se pueden deducir: Mediante una interpretación gráfica del área que abarca la función. A partir de los polinomios de interpolación U C M 23 24 Calculan la integral de una función matemática o de pares de datos observados en un intervalo. Es una de las metodologías más aplicadas en la determinación numérica de una integral. Se basan en la interpolación de Newton-Gregory (Ver anexo) Fórmula del Trapecio Fórmulas de Simpson Simpson 1/3 Simpson 3/8 Fórmula del Trapecio para n subintervalos Fórmulas de Simpson para n subintervalos Integración: Fórmulas de Newton-Cotes U C M 25 Integración: Fórmulas de Newton-Cotes Integrando el polinomio de interpolación Pn(x) tal que [a,b]=[x0, xn]. Ejemplo: Consideremos el caso sencillo de puntos {(xi,fi)}i=0,1,..n ; usando el método de Newton-Gregory para determinar el polinomio de interpolación: Si n=1 partimos de 2 puntos, o sea, Pn(x) es una recta Formula del Trapecio Si n=2 partimos de 3 puntos, o sea, Pn(x) es una Parábola Formulas de Simpson Si n=3 partimos de 4 puntos Formulas de Simpson Si n>3 NO suelen utilizarse porque normalmente dan soluciones menos exactas (errores de redondeo e irregularidades locales) Donde n representa el número de intervalos Referencia para ver cómo determinar el error: Rao, Sankara (2007). «7.6 Newton-Cotes integration formulae» (en inglés). Numerical Methods For Scientists And Engineers (3ª edición). New Delhi (India): Prentice-Hall of India Learning Private. pp. 151-159. ISBN 8120332172. U C M 25 Ej4_1 26 Fórmulas de integración de Newton-Cotes Si el dominio de integración es (x0, xn) se obtienen las fórmulas de Newton-Cotes: conjunto de fórmulas de integración para diferentes grados del polinomio de interpolación. Encerrados en círculos se indica el error de la aproximación Intervalos n=1: Nº puntos minimos 2 (=n+1) Regla Trapecio Intervalos n = 2: Regla de Simpson 1/3 Intervalos n = 3: Regla de 3/8 Simpson donde h corresponde a la distancia entre dos puntos x consecutivos y necesariamente igual en todo el intervalo [a,b]. Los superíndices encerrados entre paréntesis indican el grado de la derivada: f(4) derivada cuarta Grados superiores suelen producir soluciones menos exactas debido a los errores de redondeo y a las irregularidades locales. U C M 26 27 ERRORES DE APROXIMACIÓN en las Fórmulas Newton-Cotes Si n es un entero, el error también se puede expresar en términos del número de intervalos (n) como: Si n es PAR: Si n es IMPAR: U C M 27 28 Fórmulas del Trapecio (Newton-Cotes de grado 1) Es decir, se parte de sólo 2 puntos, por tanto, [a, b]=[x0, x1] Fórmula del Trapecio: f1 f0 x0 x1 Fórmula del área de un trapecio Depende de h3 , es decir, O(h3) Cuanto menor sea h, menor será el error. Sin embargo, el error por redondeo es inversamente proporcional a h, como sucedia con la diferenciación. ¿Cuánto vale h? h=(b-a) donde b=x1 y a=x0 h U C M 28 Ej4_1 29 Fórmula extendida (o compuesta) del trapecio Aplicar la Fórmula del trapecio en un único intervalo [a, b] puede suponer un “error” en la integración numérica muy grande conviene subdividir [a, b] en pequeños intervalos (h pequeño) y aplicar en cada uno de ellos la Fórmula del trapecio. Fórmula extendida del Trapecio: A partir de {(xi, fi)}i=0,1,…,n x0=a y xn=b f2 f0 x0 x1 x2 x3 f1 f3 h ¿Cuánto vale h? h=(b-a)/n Siendo n el número de intervalos equidistantes entre sí. Rao, Sankara (2007). «7.6 Newton-Cotes integration formulae» (en inglés). Numerical Methods For Scientists And Engineers (3ª edición). New Delhi (India): Prentice-Hall of India Learning Private. pp. 151-159. ISBN 8120332172. U C M 29 Ej4_1 30 Fórmula extendida (o compuesta) del trapecio A partir de {(xi, fi)}i=0,1,…,n x0=a y xn=b f2 f0 x0 x1 x2 x3 f1 f3 h ¿Cuánto vale h? h=(b-a)/n Siendo n el número de intervalos equidistantes entre sí. siendo h=(b-a)/n, xk=a+kh k=0,1,2,...,n U C M 30 Determinar por la regla del trapecio: Sea: a=x0=0 y b=x1=1 (2puntos) Número de intervalos: n=1 h=1 f(xo)=1 f(x1)=e >> f=inline('exp(x.^2)');y=feval(f,[0 1]) >>y_plot=feval(f,linspace(0,1)); >>area(linspace(0,1),y_plot); >>title('f(x)=exp(x^2)') Otra opción >> trapz(y) %en Matlab ans = 1.859140914229523 Otra opción : : Con números aleatorios Otra opción : : En Matlab con cálculo simbólico Ejemplos Regla del trapecio U C M 31 Determinar por la regla del trapecio: Sea: Número de intervalos: n=5 siendo h=0.2 a=x0=0 y b=x5=1 f(xo)=1 f(x1)=e >> x=([0:0.2:1]); y=feval(f,[0:0.2:1]);trapz(x,y) ans =1.480654570655803 >>f=inline('exp(x.^2)');y=feval(f,[0:0.2:1]) y = 1.0000 1.0408 1.1735 1.4333 1.8965 2.7183 >> a=h=0.2;sum(2*y)-y(1)-y(6);solucion=a*h/2 A medida que se incremente el número de intervalos, el método del trapecio dará mejores resultados. Ejemplos Regla del trapecio U C M 33 = 2.958 >> x=[0 2]; y=feval(f,x); trapz(x,y) % 1 intervalo ans = 3.236067977499790 Segunda derivada >> x=linspace(0,2); d2f=1./((1+x.^2).^(3/2)); plot(x,d2f); max(d2f) La Cota máxima del error_aprox. lógicamente es mayor que el Error real >> f=inline('sqrt(1+x.^2)');x=[0:0.2:2],y=feval(f,x); > trapz(x,y) %10 intervalos ans = 2.960867376984531 Ejemplos Regla del trapecio Sólo podemos estimar la cota máxima del error, si se conoce la función matemática es posible estimar el error real U C M 34 Fórmulas de Simpson (Newton-Cotes de grado 2 y 3) Fórmula de Simpson: Es decir, se parte de f1 f0 x0 a x1 x2 b f3 P2(x) f1 f0 x0 a x1 x3 b f3 P3(x) x2 f2 U C M 34 Ej4_1 35 Fórmulas de Simpson (Newton-Cotes de grado 2 y 3) Fórmula de Simpson: f1 f0 x0 a x1 x2 b f3 P2(x) f1 f0 x0 a x1 x3 b f3 P3(x) x2 f2 ¿Cuánto vale h? h=(b-a)/2 Es la semianchura del intervalo (a=xo,b=x2) ¿Cuánto vale h? h=(b-a)/3 Es la tercera parte del intervalo (a,b) Si no dispongo de 3 o de 4 puntos no puedo aplicar Simpson 1/3 o Simpson 3/8 Si deseo integrar numéricamente una función matemática f(x) debo saber su valor en los 3 o 4 puntos para poder usar las metodologías de Simpson. Todos ellos equidistantes. Si tengo pares de datos experimentales (x,f)i , i debe ser como mínimo igual a 3 o a 4 donde las distancias entre los valores de x’s deben ser las mismas. U C M 35 Ej4_1 36 Fórmulas de Simpson (Newton-Cotes de grado 2 y 3) Fórmula de Simpson 1/3: Fórmula de Simpson 3/8: Newton-Gregory U C M 36 Ej4_1 37 Fórmulas de Simpson (Newton-Cotes de grado 2 y 3) Si [a, b] es grande: Aplicar alguna de las formulas de Simpson en sólo dos o tres subintervalos de longitud h no muy pequeño, cubriendo todo el intervalo [a, b] un error en la integración numérica grande conviene subdividir [a, b] en n subintervalos pequeños (es decir, h pequeño) y aplicar las fórmulas de Simpson cada 2 y/o 3 subintervalos. Fórmula de Simpson 1/3 extendida (cada 2 subintervalos): Fórmula de Simpson 3/8 extendida (cada 3 subintervalos): U C M 37 Ej4_1 38 Fórmula de Simpson (Newton-Cotes de grado 2 o grado par) Fórmula de Simpson 1/3: Otra forma generalizada de expresarla en n intervalos cuando n sea par sería: Por el Teorema del Valor Intermedio, el error queda como: Hazlo para cuando n es impar U C M 38 Ej4_1 39 39 = 2.958 >> x=[0 1 2]; h=1; y=feval(f,x); %Simpson 1/3 >> Q1 = (h/3)*(y(1) + 4*f(2) + f(3)) Q1 = 2.96431 Cuarta derivada >> x=linspace(0,2); Determinar por el método de Simpson 1/3 el valor de la integral con 10 intervalos La cota de error máxima bajo esta aproximación es: f4=inline('(12*x.^2-3)./((1+x.^2).^(7/2))'); x=linspace(0,2,1000);y=feval(f4,x);plot(x,y); title('Derivada cuarta de f');aprox_max=max(y) Ejemplos Fórmulas de Simpson U C M 40 40 = 2.958 Determinar por el método de Simpson 3/8 con 3 intervalos: el valor de la integral la cota de error Determinar por el método de Simpson 3/8 con 9 intervalos: el valor de la integral la cota de error Ejercicios con Fórmulas de Simpson U C M 41 41 Ejercicio propuesto para realizar con diferentes métodos t min 1 2 3.25 4.5 6 7 8 9 9.5 10 V m/s 5 6 5.5 7 8.5 8 6 7 7 5 Determinar la distancia recorrida para los siguientes pares de datos experimentales: U C M 42 Comparación métodos para varias funciones Comparación entre el valor exacto, la regla del trapecio y la regla de Simpson 1/3 para diferentes funciones en el intervalo [0 , 2]. U C M 43 Anexo: Fórmulas de integración de Newton-Cotes Grados superiores suelen producir soluciones menos exactas debido a: Los errores de redondeo que son inversamente proporcionales a h. Las irregularidades locales del polinomio por tener un orden excesivo U C M 43 44 Integración numérica con MatLab QUAD Resuelve numéricamente la integral por combinación de las reglas de Simpson con 3 y 5 puntos y otra metodología. Haz edit quad.m para ver cómo lo hace. Q = QUAD(FUN,A,B) aproxima la integral de una función en un intervalo hasta un error de 1.e-6. Ejemplo: %-------------------% function y = myfun(x) y = 1./(x.^3-2*x-5); %-------------------% >> Q = quad('myfun',0,2) Q = -0.4605 U C M 44 Ej4_1 45 Integración numérica con MatLab TRAPZ Integración por la regla del trapecio. Ejemplo: >> X = 0:pi/100:pi; >> Y = sin(X); >> Z = trapz(X,Y) Z = 1.9998 U C M 45 Ej4_1 46 46 INTEGRACIÓN CON CÁLCULO SIMBÓLICO (Ver anexo) El comando int lleva a cabo la integración simbólica. Ejemplos de integral indefinida >> syms x >> S=2*cos(x)-6*x; >> int(S) ans =2*sin(x) - 3*x^2 >> syms x; int(exp(x)*cos(4*x),x) ans=1/17*exp(x)*cos(4*x)+4/17*exp(x)*sin(4*x) Ejemplos de integral definida >> syms y >> int(sin(y)-5*y^2,0,pi) ans =2 - (5*pi^3)/3 >> syms x; int(exp(x)*cos(4*x),x,0,pi) ans=1/17*exp(pi)-1/17 >> double(ans) ans = 1.3024 Se puede integrar utilizando los extremos de integración “0” y “pi”. Double para pasar de simbólico a numérico Recordad: también por el método Montecarlo (aleatorios). Hecho en prácticas U C M 47 ANEXO: Desarrollo de Taylor Determinación de un polinomio de interpolación por el método de Newton-Gregory U C M 48 48 Si suponemos que la función f(x) es suficientemente diferenciable su aproximación de Taylor cerca de un punto x0 es: donde z es un punto situado ente x y x0. Si eliminamos el último término, la función f(x) se puede aproximar por un polinomio p(x) de orden n de la forma: El error al representar una función por un polinomio de Taylor viene dado por el término (ERROR DE TRUNCAMIENTO): Luego el error aumenta con x y disminuye con n, esto es, cuanto mayor es el orden del polinomio p(x) el error es menor y cuanto mayor es x el error es mayor. Además, cuanto más suave sea la función (derivadas más pequeñas) la aproximación es mejor. Anexo: Series de Taylor U C M 49 Anexo: Newton-Gregory El método de diferencias divididas se simplifica si los datos están ordenados y a igual distancia. En este caso las diferencias de fi son: Las diferencias de orden superior se obtienen recursivamente: Una diferencia de orden n se puede expresar del siguiente modo: Estas diferencias se han de dividir por (x-x0)n=hn, donde n es el orden de la diferencia, para convertirlas en diferencias divididas. El polinomio de interpolación tiene la forma: Podemos comprobar como pn(xi)=fi. Vemos que el polinomio pn(x) es análogo a tomar los n+1 primeros términos de la expansión de Taylor de f(x) en el punto x0. Luego aplicar el algoritmo de Newton-Gregory es equivalente a realizar la discretización de la expansión de Taylor de la función. Al añadir un dato más lo que hacemos es añadir un término más a la serie de Taylor. U C M 50 50 Anexo. Newton-Gregory En este caso la tabla de diferencias se construye muy fácilmente ya que una columna se obtiene restando elementosde la columna de su izquierda. Por ejemplo: Estamos en condiciones de escribir el algoritmo de las diferencias o de Newton. Primero veamos como se obtienen las diferencias Una vez obtenidos estos coeficientes ya podemos evaluar el polinomio en un punto para interpolar o extrapolar un valor. diferencias for i=0,...,n do dfi = fi end for j=1,2,...,n do for i=i,j+1,...,n do end for i=i,j+1,...,n do fi = dfi end end xi fi fi fi fi fi 0.0 0.000 0.203 0.017 0.024 0.020 0.2 0.203 0.220 0.041 0.044 0.4 0.423 0.261 0.085 0.6 0.684 0.346 0.8 1.030 U C M f x f x h f x h ' ( ) ( ) ( ) » + - f x dx h f f x x i i i i ( ) ( ) = + + ò + 2 1 1 0 '()(,()), () yxfxyx yx = ()()()'()'()'() nnnn fxPxExfxPxEx =+Þ=+ 0 ()()()() '()lim h fxhfxfxhfx fx hh ® +-+- =» ( ) ( ) ( ) ( ) ( ) ( ) 0 1 1 0 0 2 2 1 0 0 0 0 ! ... ! 2 ) ( f h n x x x x x x f h x x x x f h x x f x P n n n n D - - - + + D - - + D - + = - L [ ] å - = - - - - - + + - - + - - + - - + - - + = 1 n 0 k k 1 n 1 0 n 0 n 1 0 2 0 2 1 3 0 3 1 0 2 0 2 0 n x x x x x x x x h n f x x x x x x x x x x x x h 3 f x x x x h 2 f h f x P ) ( ) ( ) )( ( ! .......... ... ) )( ( ) )( ( ) )( ( ! ) )( ( ! ) ( ' L Δ Δ Δ Δ [ ] [ ] ÷ ÷ ø ö ç ç è æ - + - + - = - - - + + - + - + = - - 1 n 0 n 0 3 0 2 0 0 n 1 n 0 2 0 1 0 n 0 n 0 0 1 0 2 0 2 0 0 n 1 n f 3 f 2 f f h 1 x P x x x x x x h n f x x x x h 2 f h f x P ) ( ) ( ) ( ) )( ( ! ... ) ( ) ( ! ) ( ' ' Δ Δ Δ Δ Δ Δ Δ L L P x f h x x f h x x x x f n h f h h f h h n f n h h f f f n n n n n n n n n n ' ( ) ( ) ( ) ( ) ! ( ) ! ! ( ( ) ) 0 0 0 1 2 0 2 0 1 0 1 0 0 2 0 2 1 0 0 2 0 0 1 2 2 1 1 2 1 = + - + + - - = - + + - = - + + - - - - D D D D D D D D D L L L L 1 1 '(0.0)'(0.0)(0.203)0.1015 0.2 fp === 2 10.017 '(0.0)'(0.0)(0.203)0.09725 0.22 fp ==-= 3 10.0170.024 '(0.0)'(0.0)(0.203)0.1015 0.223 fp ==-+= ( ) ( ) ( ) ( ) << + - + @ - + = ® h h O h x f h x f h x f h x f x f k k k k h k si ) ( lim ) ( 0 ' f x f x f x x x n f x x x n f z x x n n n n ( ) ( ) ' ( )( ) ! ( )( ) ( ) ! ( )( ) ( ) ( ) = + - + + - + + - + + 0 0 0 0 0 1 0 1 1 1 1 L ()()1 '(); fxhfx fxChDCD hh +- =++>> 2 ()()'()''(); 2 ; h fxhfxhfxfz xzxh +=++ <<+ f x f x h f x h h f z f x h f x h O h ' ( ) ( ) ( ) ' ' ( ) ( ) ( ) ( ) = + - - = + - + 2 2 11 0 2 '()(); 2 ´() 6 ff fxOh h h Errorfz - - =+ ¢¢¢ =- 2 2 210 0 43 '()();´() 23 fff h fxOhErrorfz h -+- ¢¢¢ =+=+ f x f f h O h f x f f h O h f x f f f h O h f x f f f f h O h ' ( ) ( ) ' ( ) ( ) ' ( ) ( ) ' ( ) ( ) 0 1 0 0 1 1 2 0 2 1 0 2 0 2 1 1 2 4 2 4 3 2 8 8 12 = - + = - + = - + - + = - + - + + - - - 210 0 2 101 0 2 2 3210 0 2 4 21012 0 2 2 ''()() 2 ''()() 452 ''()() 163016 ''()() 12 fff fxOh h fff fxOh h ffff fxOh h fffff fxOh h - -- -+ =+ -+ =+ -+-+ =+ -+-+- =+ f x f f f f h O h f x f f f f h O h ' ' ' ( ) ( ) ' ' ' ( ) ( ) 0 3 2 1 0 3 0 2 1 1 2 3 2 3 3 2 2 2 = - + - + = - + - + - - f x f f f f f h O h f x f f f f f h O h IV IV ( ) ( ) ( ) ( ) 0 4 3 2 1 0 4 0 2 1 0 1 2 4 2 4 6 4 4 6 4 = - + - + + = - + - + + - - x0=2ln(x0)=0,693147181f'(x0)=0,5 hf(x0+h)( f(x0+h) - f(x0) ) /h|Error absoluto| 0,10,7419373450,487901642-0,012098358 0,010,6981347220,498754151-0,001245849 0,0010,6936470560,499875042-0,000124958 0,00010,6931971790,4999875-1,24996E-05 Hoja1 x0= 2 ln(x0)= 0.6931471806 f'(x0)= 0.5 h f(x0+h) inc |inc -f'(x0)| 0.1 0.7419373447 0.4879016417 -0.0120983583 0.01 0.6981347221 0.4987541511 -0.0012458489 0.001 0.6936470556 0.4998750417 -0.0001249583 0.0001 0.6931971793 0.4999875004 -0.0000124996 Hoja2 Hoja3 Hoja1 x0= 2 ln(x0)= 0.6931471806 f'(x0)= 0.5 h f(x0+h) ( f(x0+h) - f(x0) ) /h |Error absoluto| 0.1 0.7419373447 0.4879016417 -0.0120983583 0.01 0.6981347221 0.4987541511 -0.0012458489 0.001 0.6936470556 0.4998750417 -0.0001249583 0.0001 0.6931971793 0.4999875004 -0.0000124996 Hoja2 Hoja3 2 . 1 25 . 0 5 . 0 16 . 0 1 . 0 ) ( 2 3 4 + - - - - = x x x x x f ) ( T A k dt dT - = ) ( 1 i i i T A k t T T - = - - D 5 25 . 1 1 = - - i i T T A e A T T kt o + - = - ). ( 1 V elige se V, para un valor Considerar * 0.1 x por tanto 0.9. ...., 0.2, 0.1, nodos los en u de valor el Establecer * : debe Se 1 u(1) 0 u(0) : contorno 0 2 2 = = D Þ = = = + - de s condicione Con dx du V dx u d 0 2 2 = + - dx du V dx u d ( ) ( ) 0 . 2 2 : 9 ..., 2 , 1 1 1 2 1 1 = D - + D - + - = - + - + x u u V x u u u i centradas s diferencia i i i i i ( ) ( ) ( ) ¾ ¾ ¾ ¾ ® ¬ ¾ ¾ ® ¬ ¾ ¾ ¾ ¾ ® ¬ = ú û ù ê ë é D + D - + ú û ù ê ë é D + ú û ù ê ë é D - + D - + - gamma beta . alfa 2 1 2 2 1 0 . 2 1 2 . 2 1 x V x u x u x V x u i i i : 1 i Nodo 0 2 u . 1 u . 0 u . = + + = gamma beta alfa 0 3 u . 2 u . 1 u . : 2 i Nodo = + + = gamma beta alfa 0 9 u . 8 u . 7 u . : 8 i Nodo = + + = gamma beta alfa 0 10 u . 9 u . 8 u . : 9 i Nodo = + + = gamma beta alfa 1 0 1 . 0 1 0 10 0 2 2 = = = D = = + - u u x V dx du V dx u d ( ) ( ) ( ) ( ) 95 . 2 1 200 2 105 1 . 0 * 2 1 1 . 0 1 . 2 1 2 2 2 2 - = ú û ù ê ë é D + D - = = ú û ù ê ë é D = - = ú û ù ê ë é - + - = ú û ù ê ë é D - + D - = x V x gamma x beta x V x alfa 1 0 0 0 0 0 0 0 0 0 0 95 200 105 0 0 0 0 0 0 0 0 0 95 200 105 0 0 0 0 0 0 0 0 0 95 200 105 0 0 0 0 0 0 0 0 0 95 200 105 0 0 0 0 0 0 0 0 0 95 200 105 0 0 0 0 0 0 0 0 0 95 200 105 0 0 0 0 0 0 0 0 0 95 200 105 0 0 0 0 0 0 0 0 0 95 200 105 0 0 0 0 0 0 0 0 0 95 200 105 0 0 0 0 0 0 0 0 0 0 1 - - - - - - - - - - - - - - - - - - 10 9 8 7 6 5 4 3 2 1 0 u u u u u u u u u u u 1 0 0 0 0 0 0 0 0 0 0 1 1 ) ( - - = e e x u x 1 1 ) ( 25 25 - - = e e x u x 00.10.20.30.40.50.60.70.80.91 -0.2 0 0.2 0.4 0.6 0.8 1 1.2 X Soluciones U Con V=1 Soluciones con Dif. Finitas Valores exactos 0 ) ( 2 2 = - + T A k dx T d ( ) { } [ ] [ ] ò Î = ® = b a n n i i i x x b a dx x f f I f x , , / ? ) ( ) ( , Sea 0 ,..., 1 , 0 ò å = × @ = b a n i i i f A dx x f f I 0 ) ( ) ( ò ò ò ò å = Þ ÷ ø ö ç è æ × = @ = = b a i i b a b a b a n i i i n dx x l A dx x l f dx x P dx x f f I ) ( ) ( ) ( ) ( ) ( 0 ] I f f x dx F x F b F a a b a b ( ) ( ) ( ) ( ) ( ) = = = - ò I f f x dx A f x i i i n a b ( ) ( ) ( ) = = = å ò 0 f x dx P x dx a b n a b ( ) ( ) » ò ò ( ) ( ) ( ) ( ) ( ) ò ò ÷ ø ö ç è æ D - - + + D - - + D - + @ = - b a b a n n n f h n x x x x f h x x x x f h x x f dx x f f I 0 1 0 0 2 2 1 0 0 0 0 ! ... ! 2 ) ( ) ( L ( ) ( ) [ ] Taylor de Desarrollo , z , )! 1 ( ) ( ) ( 0 1 0 Î ÷ ÷ ø ö ç ç è æ + - - = = ò ò + n b a b a n n n x x dx n z f x x x x dx x E Error L f x dx h f f h f z x z x x x n ( ) ( ) ( ); ( ) 0 1 2 1 12 0 1 3 2 0 ò = + - < < f x dx h f f f h f z x z x x x n ( ) ( ) ( ); ( ) 0 2 3 4 1 90 0 1 2 5 4 0 ò = + + - < < f x dx f f f f h f z x z x x x n ( ) ( ) ( ); ( ) 0 3 3h 8 3 3 3 80 0 1 2 3 5 4 0 ò = + + + - < < ( ) ( ) [ ] , z , )! 1 ( ) ( ) ( 0 1 0 n b a b a n n n x x dx n z f x x x x dx x E Error Î ÷ ÷ ø ö ç ç è æ + - - = = ò ò + L ò ò @ = b a b a n n x P dx x P dx x f f I 1 grado de es ) ( que tal ?, ) ( ) ( ) ( ( ) ( ) ( ) 1 0 2 0 0 0 0 0 0 1 2 ) ( 2 ) ( ) ( 1 0 1 0 1 0 f f h f I x x h f x f dx f h x x f dx x P f I x x x x x x + = - D + = ÷ ø ö ç è æ D - + = = ò ò ( ) ( ) f de segunda derivada la (2) f siendo 1 0 ) 2 ( 3 1 0 ), ( 12 2 ) ( 1 0 x x f h Error f f h dx x f x x < < - = + @ ò x x ( ) ( ) n n b a b a x x n i x x n i i i f f f f f h dx x f f f h dx x f dx x f dx x f n i i + + + + + @ Þ + = @ = - - = - = + ò ò ò å ò å + 1 2 1 0 1 0 1 0 1 2 2 2 2 ) ( 2 ) ( ) ( ) ( 0 1 L ) ( ) ( 12 3 0 ) 2 ( 3 h O to truncamien por error un Es x x con f h Error n errores = < < - = å x x ) , ( ) ( ' ' max . 12 ) ( ) ( ' ' max 12 ) ( ' ' 12 ) ( ) ( 2 ) ( 2 ) ( 2 3 3 int 3 1 1 0 b a donde f n a b f n h f h E x f xf x f h dx x f ervalo ada erroresenc i T n k N k b a Î - - £ - £ - = ú û ù ê ë é + + @ å å ò - = x x x x ( ) ( ) n n b a b a x x n i x x n i i i f f f f f h dx x f f f h dx x f dx x f dx x f n i i + + + + + @ Þ + = @ = - - = - = + ò ò ò å ò å + 1 2 1 0 1 0 1 0 1 2 2 2 2 ) ( 2 ) ( ) ( ) ( 0 1 L 00.10.20.30.40.50.60.70.80.91 0 0.5 1 1.5 2 2.5 3 f(x)=exp(x 2 ) 3 2 3 intervalos 3 10 7 . 6 ) ( ' ' max 10 . 12 ) ( ) ( ' ' 12 - = - - £ - = å x f a b f h to truncamien Error n x x 00.20.40.60.811.21.41.61.82 0 0.5 1 1.5 2 2.5 00.20.40.60.811.21.41.61.82 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 ò ò @ = b a n n b a x P dx x P dx x f f I 3 o 2 grado de es ) ( que tal ? ) ( ) ( ) ( î í ì = Þ Þ = Þ Þ ] , [ ] , [ ) ( puntos 4 ] , [ ] , [ ) ( puntos 3 3 0 3 2 0 2 x x b a x P x x b a x P ( ) ( ) ( ) ( ) 2 1 0 0 2 2 1 0 0 0 0 2 4 3 ) ( ! 2 ) ( ) ( 2 0 2 0 f f f h f I dx f h x x x x f h x x f dx x P f I x x x x + + = = ÷ ø ö ç è æ D - - + D - + = @ ò ò ( ) ( ) ( ) ( ) ( ) ( ) ( ) 3 2 1 0 0 3 3 2 1 0 0 2 2 1 0 0 0 0 3 3 3 8 3 ) ( ! 3 ! 2 ) ( ) ( 3 0 3 0 f f f f h f I dx f h x x x x x x f h x x x x f h x x f dx x P f I x x x x + + + = = ÷ ø ö ç è æ D - - - + D - - + D - + = @ ò ò ) ( 80 3 5 x iv f h Error - = ) ( 90 5 x iv f h Error - = ( ) ( ) n n n a n i i i i i a x x f f f f f f f f h dx x f f f f h dx x f dx x f b b + + + + + + + + @ Þ + + = = - - - = D = + + ò å ò ò 1 2 4 3 2 1 0 2 2 0 2 1 4 2 ... 2 4 2 4 3 ) ( 4 3 ) ( ) ( 2 0 ( ) ( ) n n n n a n i i x x n i i i i i i a x x f f f f f f f f f f f h dx x f f f f f h dx x f dx x f dx x f b i i b n + + + + + + + + + + + @ Þ + + + @ = = - - - - = D = - = D = + + + ò å ò å ò ò + 1 2 3 6 5 4 3 2 1 0 3 3 0 3 3 0 3 2 1 3 3 2 ... 2 3 3 2 3 3 8 3 ) ( 3 3 8 3 ) ( ) ( ) ( 3 0 ( ) 2 1 0 4 3 ) ( f f f h f I + + = ) ( 90 5 x iv f h Error - = ) ( max . 180 ) ( ) ( ) ( 180 ) ( 2 90 4 5 4 5 x m m iv iv iv f n a b f a b h f n h Error - - £ - - = - = 3 5 5 2 / ) ( 5 10 4 . 9 ) ( max 2 . 90 ) ( ) ( 90 - - = = - £ - = x f a b f h Error iv a b h iv x x 5 4 5 10 5 . 1 ) ( max 10 . 180 ) ( - = - - £ x f a b Error iv o trucamient x 00.20.40.60.811.21.41.61.82 -3 -2.5 -2 -1.5 -1 -0.5 0 0.5 1 Derivada cuarta de f Derivada Q uinta=0 obtenemos el punto del máximo= sqrt(3)/2 Y(sqrt(3)/2) = 0.8463 f(x)x^2x^41/(x + 1)sqrt(1 + x2)sen xexp(x) Solución2,6676,4001,0992,9581,4166,389 Trapecio4,00016,0001,3333,2360,9098,389 De Simpson2,6676,6671,1112,9641,4256,421 Hoja1 f(x) x^2 x^4 1/(x + 1) sqrt(1 + x2) sen x exp(x) Solución 2.667 6.400 1.099 2.958 1.416 6.389 Trapecio 4.000 16.000 1.333 3.236 0.909 8.389 De Simpson 2.667 6.667 1.111 2.964 1.425 6.421 Hoja2 Hoja3 4605 . 0 5 2 1 2 0 3 - = - - ò = = x x dx x x 2 ) sin( 0 ò = p dx x f x p x f x f x x x n f x x x n n ( ) ( ) ( ) ' ( )( ) ! ( )( ) ( ) = = + - + + - 0 0 0 0 0 1 L f x p x n f z x x n n ( ) ( ) ( ) ! ( )( ) ( ) - = + - + + 1 1 1 0 1 D D D f f f f f f f f f i i i 0 1 0 1 2 1 1 = - = - = - - , , , L D D D D 2 0 0 1 0 2 1 1 0 2 1 0 2 f f f f f f f f f f f = = - = - - - = - - ( ) ( ) ( ) ( ) D n n n n n f f n f n f f n i n n n i i 0 1 2 0 1 2 1 1 1 = - æ è ç ö ø ÷ + æ è ç ö ø ÷ - + - æ è ç ö ø ÷ = - - + - - L K ( ) , ( ) ( ) ! p x f x x h f x x x x h f x x x x x x n h f n n n n ( ) ( ) ( )( ) ( )( ) ( ) ! = + - + - - + + - - - - 0 0 0 0 1 2 2 0 0 1 1 0 2 D D D L L
Compartir