You are on page 1of 50

Diferenciación e Integración

xi  1 h
xi
f ( x )dx  ( f i  f i 1 )
2

f ( x  h)  f ( x )
f ' ( x) 
h

ANEXO: Método de interpolación Newton-Gregory

UCM
Introducción
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 x f(x)
que recurrir entonces a las técnicas numéricas. x0 f0
2. Si únicamente conocemos el valor de la función en un x1 f1
conjunto de puntos (xi, fi), su derivada e integral sólo se x1 f2
pueden obtener numéricamente. x3 f3

• Los sistemas físicos generalmente se modelan por y '( x)  f ( x, y ( x)),


medio de ecuaciones diferenciales. Existen muchas
ecuaciones diferenciales que carecen de solución y ( x0 )
analítica, siendo posible obtener únicamente
soluciones numéricas.

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.

UCM
Diferenciación
3

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.

UCM
Diferenciación numérica
4

• En general, existen dos modos de resolver el problema de la


diferenciación numérica:
1. Estimando la derivada como una fórmulas de diferencias finitas
obtenida a partir de la aproximación de Taylor.

f ( x  h)  f ( x ) f ( x  h)  f ( x )
f '( x)  lim 
h 0 h h
2. 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.

f ( x)  Pn ( x)  En ( x)  f '( x)  Pn '( x)  En '( x)


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. U CM
Diferenciación: Polinomios de interpolación
5

• 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.

UCM
Diferenciación: Polinomios de interpolación (Ver anexo)
6

¿Cómo determinar f’(x) numéricamente con x equidistantes?

(1) Determinar Pn(x): partimos de {x0} y los siguientes puntos xi hasta el


último, {xn}. (método de Newton-Cotes)

Pn ( x)  f 0 
 x  x0 
f 
 x  x0 x  x1  2
 f  ... 
 x  x0 x  x1  x  xn 1  n
 f
0 0 0
h 2! h 2 n! h n

(2) Derivar Pn(x):

Δf 0 Δ2 f 0 Δ3 f 0
Pn' ( x )   ( x  x0 )( x  x1 )  ( x  x1 )( x  x2 )  ( x  x0 )( x  x2 )  ( x  x0 )( x  x1 )  ...
h 2! h 2 3! h 3
n 1
Δn f 0 ( x  x0 )( x  x1 )( x  xn 1 )
.......... 
n! h n k 0 ( x  xk )
(3) 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.
Δf 0 Δ2 f 0 Δn f 0
Pn' ( x0 )  ( x0  x1 )  ( x0  x0 )  ...  n ( x0  x1 )( x0  x2 )( x0  xn1 )
h 2! h 2 n! h
1  Δ2 f 0 Δ3 f 0 Δn f 0 
Pn ( x0 ) 
'
Δf 0    ( 1) n 1 
h  
UCM
2 3 n 
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

f 0 2 f 0 n f 0
Pn ' ( x 0 )   ( x 0  x1 ) 2
( x 0  x1 ) ( x 0  x n 1 ) n

h 2h n! h
f 0 2 f 0 n 1 n f 0 1 2 f 0 n f 0 n 1
h   h ( n  1)!  ( f 0    ( 1) )
h 2h 2 n! h n h 2 n
• Un solo término: f '(0.0)  p1 '(0.0) 
1
(0.203)  0.1015
0.2
• Dos términos: 1 0.017
f '(0.0)  p2 '(0.0)  (0.203  )  0.09725
0.2 2
• Tres términos: 1 0.017 0.024
f '(0.0)  p3 '(0.0)  (0.203   )  0.1015
UCM
0.2 2 3
Diferenciación: Diferencias finitas
8

• 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.


1 1 ( n 1)
f ( x )  f ( x0 )  f '( x0 )( x  x0 )  f (n)
( x0 )( x  x0 ) n  f ( z)( x  x0 ) n 1
n! (n  1)!
Ejemplo sencillo (derivada primera en un punto): f’(x)? en k=0,1,…,n.

f  x k  h   f  xk  f  xk  h   f  x k  Formula de
f ( xk )  lim
'
  O ( h) diferenciación
h 0 h h adelantada de 2
puntos

si h 
Conforme el h disminuye, el error de truncamiento se hace más pequeño:

𝐸𝑟𝑟𝑜𝑟 𝑑𝑒 𝑡𝑟𝑢𝑛𝑐𝑎𝑚𝑖𝑒𝑛𝑡𝑜: 𝑂 ℎ < 2 . max(𝑎𝑏𝑠(𝑓 ′′ 𝑥 ))

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. U M C
Errores de truncado y redondeo
9

• 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.

f ( x  h)  f ( x ) 1
f '( x)   Ch  D ; C  D
h h
error de truncado error de redondeo

Error truncamiento< . max(𝑎𝑏𝑠(𝑓 ′′ 𝑥 )) 𝑓𝑙 𝑓2 − 𝑓𝑙(𝑓1) 𝑓2 − 𝑓1 𝑒1 − 𝑒2
2 𝐸𝑟𝑟𝑜𝑟 𝑟𝑒𝑑𝑜𝑛𝑑𝑒𝑜 = = +
ℎ ℎ ℎ
Error D depende del eps
Total El error redondeo es muy influyente ya que h es pequeño
y puede hacer que la diferenciación sea inestable
Ejemplo: f(x)=atan(x) en
x=sqrt(2) el valor
DOMINA EL
óptimo de h es
DOMINA EL
ERROR DE REDONDEO ERROR DE TRUNCADO 1.5x10-8

h
h límite o valor óptimo
UCM
Diferenciación por Diferencias Finitas
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:
2 Diferencia Adelantada
h
f ( x  h)  f ( x)  hf '( x)  f ''( z ); f ( x  h)  f ( x )
2 f ' ( x) 
x  z  x  h; h
• Reordenando:

f ( x  h)  f ( x ) h f ( x  h)  f ( x )
f '( x )   f ''( z)   O( h )
h 2 h
• 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.
UCM
Diferenciación Diferencias Finitas
11

• Diferencia Centrada con dos puntos, reducimos el orden del error a O(h2).

f1  f 1
f '( x0 )   O(h 2 );
2h
h2
Error   f ´( z )
6

• Si utilizamos los tres puntos, el error también es O(h2) pero con la mitad de
valor.
 f  4 f1  3 f 0 h2
f '( x0 )  2  O(h2 ); Error   f ´( z )
2h 3
UCM
Fórmulas de Derivadas Diferencias Finitas
12

Fórmulas primera derivada Fórmulas segunda derivada


f1  f 0 f 2  2 f1  f 0
f '( x 0 )   O( h ) f ''( x0 )  2
 O ( h)
h h
f  f 1 f  2 f 0  f 1
f '( x 0 )  1  O( h 2 ) f ''( x0 )  1 2
 O ( h)
2h h
 f 2  4 f1  3 f 0  f  4 f 2  5 f1  2 f 0
f '( x 0 )   O( h 2 ) f ''( x0 )  3 2
 O ( h 2
)
2h h
 f 2  8 f 1  8 f 1  f 2  f 2  16 f1  30 f 0  16 f 1  f 2
f '( x 0 )   O( h 4 ) f ''( x0 )   O ( h 4
)
12h 12h 2

Fórmulas tercera derivada Fórmulas cuarta derivada

f 3  3 f 2  3 f1  f 0 f 4  4 f 3  6 f 2  4 f1  f 0
f ' ' ' ( x0 )  3
 O( h ) f IV
( x0 )  4
 O( h )
h h
f  2 f 1  2 f 1  f 2 f  4 f 1  6 f 0  4 f 1  f 2
f ' ' ' ( x0 )  2 3
 O( h 2 ) f IV ( x 0 )  2 4
 O( h 2 )
2h h

UCM
Determinar el error al calcular la derivada del ln(2) 13

x0= 2 ln(x0)= 0,693147181 f'(x0)= 0,5

Considerando diferencias adelantadas

h f(x0+h) ( f(x0+h) - f(x0) ) /h |Error absoluto|


0,1 0,741937345 0,487901642 -0,012098358
0,01 0,698134722 0,498754151 -0,001245849
0,001 0,693647056 0,499875042 -0,000124958
0,0001 0,693197179 0,4999875 -1,24996E-05

UCM
14
Ejercicio propuesto sencillo
Determinar las derivadas primeras de f(x) en el punto 0.5
por los métodos:
1. Usando el polinomio de interpolación
2. Diferencias finitas adelantada en dos puntos
3. D.F. retrasada con dos puntos
4. 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?

f ( x)  0.1x  0.16 x  0.5x  0.25x  1.2


4 3 2

UCM
15
Ejercicio propuesto sencillo (algunas soluciones con diferencias finitas y su error real)

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
xi 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%

UCM
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 dT
un ambiente a temperatura constante (A=20ºC),
sabiendo que sigue la ley indicada con un
 k(A T )
coeficiente temporal de transmisión (k=0.001 s-1).
dt
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)

i tiempo Ti-1 (ºC) Ti (ºC)


Ti  Ti 1 Soluciones
 k ( A  Ti ) i=1 250 s 75 64.00
t Donde i indica el índice asociado al

Considerando los datos


tiempo o al estado
P.e. i=1, corresponde a 250 segundos,
i=2 500 s 64 55.20
i=3 750 s 55.2 48.16
donde T1 depende de Ti-1=T0.

1.25Ti  Ti 1  5
i=4 1000 s 48.16 42.53
Se puede comparar estos datos con los dados por
T  (To  A).e  kt  A
la solución analítica de la ley de transferencia: UCM
17
Ejemplo en una dimensión: Diferencias finitas centradas
d 2u du
 2 V 0
dx dx
Con condicione s de contorno :
u(0)  0
u(1)  1

Se debe :
* Establecer el valor de u en los nodos 0.1, 0.2, ...., 0.9.  por tanto x  0.1
* Considerar un valor para V, se elige V  1
PROBLEMA DE UNA DIMENSION EN X.

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

UCM
18

2 diferencia s centradas i  1,2...,9 :


d u du
 2 V 0 ui 1  ui 1  2ui ui 1  ui 1
dx dx  V 0
x  2
2.x 

 1 V   2   1 V 
ui 1     ui  2
 ui 1   0
 x  2.x   x    x  2.x 
2 2

  .
alfa
 
beta
   
gamma

Nodo i  1 : alfa. u  beta. u  gamma. u  0


0 1 2
Nodo i  2 :alfa. u  beta. u  gamma. u  0 Sistema de ecuaciones
…………………….
1 2 3 11 incógnitas
11 ecuaciones
Nodo i  8 : alfa. u  beta. u  gamma. u  0 Ya que hay que incorporar u0=0 y u10=1
7 8 9
Nodo i  9 : alfa. u  beta. u  gamma. u  0
8 9 10
UCM
19
2
d u du
 2 V 0
dx dx  1 V   1 1 
V 1 alfa        105
 x  2.x   0.1 2 * 0.1
2 2

x  0.1  2 
u0  0 beta   2
 200
 x  
u10  1
 1 V 
gamma      95
 x  2.x 
2

1 0 0 0 0 0 0 0 0 0 0 u0 0
 105 200  95 0 0 0 0 0 0 0 0 u1 0 COMPARA
0  105 200  95 0 0 0 0 0 0 0 u2 0 ESTA

.
0 0  105 200  95 0 0 0 0 0 0 u3 0 SOLUCIÓN
 105 200  95
0 0 0 0 0 0 0 0 u4 0
CON LA
0
0
0
0
0
0 0
0  105
0
200  95
 105 200
0
 95
0
0
0
0
0
0
u5
u6 = 0
0
EXACTA:
0 0 0 0 0 0  105 200  95 0 0 u7 0
e x 1
0 0 0 0 0 0 0  105 200  95 0 u8 0
u ( x) 
0
0
0
0
0
0
0
0
0
0
0
0
0
0 0
0  105 200  95
0 0 1
u9
u10
0
1
e 1
Soluciones:
0.0000 0.0612 0.1288 0.2035 0.2861 0.3774 0.4784 0.5899 0.7132 C M
0.8494U1.0000
20
Diferencias finitas (Ejercicios propuestos)
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

Con V=1
1.2
Soluciones con Dif. Finitas
Valores exactos
1

0.8
Soluciones U

0.6

0.4

0.2

-0.2
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
X

Compara gráficamente las soluciones obtenidas con V=25


con las exactas dadas por la ecuación: e 25 x  1
u ( x)  25
e 1
Haz lo mismo con V=100
UCM
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 d 2T
temperatura ambiente constante (A=20ºC), un  k(A T )  0
coeficiente espacial de transmisión (k=0.01 º/cm2), las dx 2
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 (T 0m =40ºC y T10m = 600ºC)

Se ha de resolver un
Soluciones aproximadas: sistema de ecuaciones
Longitud (m) Temperaturas (ºC)

0 40
2 135
4
234
6 341
8 462

UCM
10
600
Integración Numérica
22

• La integración numérica consiste en estimar el valor de la integral de una función


f(x) en un intervalo.

b
Sea xi , f i i 0,1,..., n  I ( f )   f ( x)dx ? / a, b x0 , xn 
a

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.
b n
I ( f )   f ( x)dx   Ai  f i
a i 0

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):

 n 
b b b b
I ( f )   f ( x)dx   Pn ( x)dx     f i  li ( x) dx  Ai   li ( x)dx
a a a  i 0  a

UCM
Integración numérica
23

• 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):

I ( f )   f ( x)dx  F ( x)a  F (b)  F (a)


b b
a

• 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:
n

 A f (x )
b
I ( f )   f ( x )dx  i i
i 0
a

Los coeficientes de esta fórmula se pueden deducir:


1. Mediante una interpretación gráfica del área que abarca la función.
2. A partir de los polinomios de interpolación b b
 f ( x)dx  P ( x)dx
a a
n
UCM
24
Integración: Fórmulas de Newton-Cotes
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 UCM


Integración: Fórmulas de Newton-Cotes
25

• 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:

b

b
I ( f )   f ( x)dx    f 0 
x  x0  f  x  x0 x  x1  2 f  ...  x  x0 x  xn1  n f 
0 0 0
a 
2 n
a
h 2 ! h n! h

b
 b
f n 1 ( z ) 
Error   En ( x) dx    x  x0  x  xn  dx, z  x0 , xn 
a a
(n  1)! 

Desarrollo de Taylor
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

UCM
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.
Fórmulas de integración de Newton-Cotes
26

• 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: x1 h 1 3 (2)
Nº puntos minimos 2 (=n+1)  x0
f (x)dx 
2
(f0  f1 ) 
12
h f (z); x 0  z  x n
Regla Trapecio x2 h 1 5 ( 4)
– Intervalos n = 2: x0 f ( x )dx 
3
( f 0  4 f1  f 2 ) 
90
h f (z); x 0  z  x n
Regla de Simpson 1/3
x3 3h 3
– Intervalos n = 3: x0
f (x)dx 
8
(f0  3f1  3f2  f3 )  h 5 f ( 4 ) (z); x 0  z  x n
80
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.

UCM
ERRORES DE APROXIMACIÓN en las Fórmulas Newton-Cotes
27

x1 h 1 3 (2)
x0 f (x)dx 
2
( f 0  f1 ) 
12
h f (z); x 0  z  x n
x2 h 1 5 ( 4)
x0 f (x)dx  3 (f0  4f1  f2 )  90 h f (z); x 0  z  x n
x3 3h 3
x0
f (x)dx 
8
(f0  3f1  3f2  f3 )  h 5 f ( 4 ) (z); x 0  z  x n
80
b
 b
f n 1 ( z ) 
Error   En ( x) dx     x  x0   x  xn  dx, z  x0 , xn 
a a
(n  1)! 

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:
ℎ𝑛+3 . 𝑓 𝑛+2 (𝑧) 𝑛
𝐸𝑟𝑟𝑜𝑟 = න 𝑡. 𝑡. 𝑡 − 1 … . 𝑡 − 𝑛 . 𝑑𝑡
𝑛+2 ! 0

Si n es IMPAR:
ℎ𝑛+2 . 𝑓 𝑛+1 (𝑧) 𝑛
𝐸𝑟𝑟𝑜𝑟 = න 𝑡. 𝑡 − 1 . (𝑡 − 2) … . 𝑡 − 𝑛 . 𝑑𝑡
𝑛+1 ! 0
UCM
Fórmulas del Trapecio (Newton-Cotes de grado 1)
28

b b
I ( f )   f ( x)dx   Pn ( x)dx ?, tal que Pn ( x) es de grado 1
a a

Es decir, se parte de sólo 2 puntos, por tanto, [a, b]=[x0, x1]

x1

x1

I ( f )   P1 ( x)dx    f 0 
x  x0  f dx  f x  f 0 x  x0  2 x1

0 0
x0 x0  h  h 2 x0

I( f ) 
h
 f 0  f1  Fórmula del área de ¿Cuánto vale h?
2 un trapecio h=(b-a) donde b=x1 y a=x0
f1

f0
Fórmula del Trapecio:
x1
h
 f 0  f1  h

x0
f ( x)dx 
2 x0 x1
h3 ( 2)
Error   f ( ), x0    x1  Depende de h3 , es decir, O(h3)  Cuanto menor
12
(2)
sea h, menor será el error. Sin embargo, el error por
siendo f la derivada segunda de f redondeo es inversamente proporcional a h, como

UCM
sucedia con la diferenciación.
Fórmula extendida (o compuesta) del trapecio
29

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:


b xn n 1 xi 1 n 1

 f ( x)dx   f ( x)dx    f ( x)dx  


h
 f i  f i 1  
a x0 i  0 xi i 0 2
b

 f ( x)dx 
h
 f 0  2 f1  2 f 2    2 f n1  f n 
a
2 A partir de {(xi, fi)}i=0,1,…,n
x0=a y xn=b
h3
Error   
12 errores
f ( 2) ( ) con x0    xn

Es un error por truncamiento  O(h3 ) f3


f2
f1
¿Cuánto vale h? f0 h
h=(b-a)/n
Siendo n el número de intervalos equidistantes entre sí. x0 x1 x2 x3
UCM
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.
Fórmula extendida (o compuesta) del trapecio
30

b xn n 1 xi 1 n 1

 f ( x)dx   f ( x)dx    f ( x)dx  


h
 f i  f i 1  
a x0 i  0 xi i 0 2
b

 f ( x)dx 
h
 f 0  2 f1  2 f 2    2 f n1  f n 
a
2

h n 1
 siendo h=(b-a)/n,
f ( x) dx   f ( x0 )  2 f ( xk )  f ( xN )
b

a 2 k 1 
xk=a+kh k=0,1,2,...,n

h3 h3 (b  a)3
ET    f ' ' (i )   n max f ' ' ( )  
12 erroresencadaint ervalo 12 12.n 2
max f ' ' ( )

A partir de {(xi, fi)}i=0,1,…,n


x0=a y xn=b
f3
donde   ( a, b)
f2
¿Cuánto vale h? f1
h
h=(b-a)/n f0

Siendo n el número de intervalos equidistantes entre sí.


x0 x1 x2 xU
3
CM
Ejemplos Regla del trapecio
Determinar por la regla del trapecio:
1 f(x)=exp(x 2)

න 𝑒 𝑥2 3

= 1.4626 2.5

Sea: 0
a=x0=0 y b=x1=1 (2 puntos) 2

Número de intervalos: n=1 h=1 1.5

f(xo)=1
1

f(x1)=e 0.5

0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

>> f=inline('exp(x.^2)');y=feval(f,[0 1])


1
𝑥 2 ℎ >>y_plot=feval(f,linspace(0,1));
න 𝑒 = 𝑓 𝑥𝑜 + 𝑓(𝑥1) = 1.85914 >>area(linspace(0,1),y_plot);
0 2 >>title('f(x)=exp(x^2)')

Otra opción Otra opción : : Con números aleatorios


>> trapz(y) %en Matlab Otra opción : : En Matlab con cálculo
ans = 1.859140914229523 simbólico

UCM
Ejemplos Regla del trapecio

Determinar por la regla del trapecio: 1


න 𝑒 𝑥2
Sea: 0
Número de intervalos: n=5 siendo h=0.2
>>f=inline('exp(x.^2)');y=feval(f,[0:0.2:1])
a=x0=0 y b=x5=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
f(xo)=1
f(x1)=e
1 4
𝑥 2 ℎ
න 𝑒 = 𝑓 𝑥𝑜 + 𝑓(𝑥5) + 2. ෍ 𝑓(𝑥𝑖)) = 1.4806546
0 2
𝑖=1

>> x=([0:0.2:1]); y=feval(f,[0:0.2:1]);trapz(x,y)


ans =1.480654570655803
A medida que se incremente el número de intervalos, el método del trapecio dará mejores resultados.
UCM
33
Ejemplos Regla del trapecio

2
= 2.958
2.5

𝑥 2 )1/2
1

‫׬‬0 (1 + 2
0.9

0.8

0.7

0.6
1.5
0.5

0.4

>> x=[0 2]; y=feval(f,x); trapz(x,y) 1 0.3

0.2

% 1 intervalo 0.5
0.1

ans = 3.236067977499790
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 Segunda derivada
>> x=linspace(0,2);
d2f=1./((1+x.^2).^(3/2));
plot(x,d2f); max(d2f)
ℎ3 ′′ 𝑏−𝑎 3
𝐸𝑟𝑟𝑜𝑟𝑡𝑟𝑢𝑛𝑐𝑎𝑚𝑖𝑒𝑛𝑡𝑜 = − . 𝑓 𝜀 ≤= | . max 𝑓 ′′ 𝜀 | = 0.67 > 0.278
12 12
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

h3 (b  a)3
Error truncamiento    f ' ' ( )  
12 n intervalos 12.10 2
max f ' ' ( )  6.7 x103

UCM
Sólo podemos estimar la cota máxima del error, si se conoce la función matemática
es posible estimar el error real
Fórmulas de Simpson (Newton-Cotes de grado 2 y 3)
34

Fórmula de Simpson:
b b
I ( f )   f ( x)dx   Pn ( x)dx ? tal que Pn ( x)es de grado 2 o 3
a a

f3 f3 P3(x)
P2(x)
f2

f0 f0
f1 f1

x0 x1 x2 x0 x1 x2 x3
a b a b

3 puntos  P2 ( x)  [a, b]  [ x0 , x2 ]
Es decir, se parte de 
4 puntos  P3 ( x)  [a, b]  [ x0 , x3 ]

UCM
Fórmulas de Simpson (Newton-Cotes de grado 2 y 3)
35

Fórmula de Simpson:
b b
I ( f )   f ( x)dx   Pn ( x)dx ? tal que Pn ( x)es de grado 2 o 3
a a

f3 f3 P3(x)
P2(x)
f2

f0 f0
f1 f1

x0 x1 x2 x0 x1 x2 x3
a b a b
¿Cuánto vale h? ¿Cuánto vale h?
h=(b-a)/2 h=(b-a)/3
Es la semianchura del intervalo (a=xo,b=x2) 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

UCM
donde las distancias entre los valores de x’s deben ser las mismas.
Fórmulas de Simpson (Newton-Cotes de grado 2 y 3)
36

Newton-Gregory
Fórmula de Simpson 1/3:

x2 x2

I ( f )   P2 ( x)dx    f 0 
x  x0  f  x  x0 x  x1  2 f dx 
0 0
x0  
2
x0
h 2!h

I( f ) 
h
 f 0  4 f1  f 2  h 5 iv
3 Error   f ( )
90

Fórmula de Simpson 3/8:

x3

x3

I ( f )   P3 ( x)dx    f 0 
x  x0  f  x  x0 x  x1  2 f  x  x0 x  x1 x  x2  3 f dx 
0 0 0
x0  
2 3
x0
h 2! h 3 ! h

I ( f )   f 0  3 f1  3 f 2  f 3 
3h 3h 5 iv
Error   f ( )
8 80

UCM
Fórmulas de Simpson (Newton-Cotes de grado 2 y 3)
37

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):


b x2 n2

 f ( x)dx   f ( x)dx  
h
 f i  4 f i 1  f i  2  
a x0 i 0 3
i  2

 f ( x)dx 
h
 f 0  4 f1  2 f 2  4 f 3  2 f 4  ...  2 f n2  4 f n1  f n 
a
3

Fórmula de Simpson 3/8 extendida (cada 3 subintervalos):

b xn n 3 xi 3 n 3

 f ( x)dx   f ( x)dx    f ( x)dx  


3h
 f i  3 f i 1  3 f i  2  f i 3  
a x0 i  0 xi i 0 8
i 3 i 3

 f ( x)dx 
3h
 f 0  3 f1  3 f 2  2 f 3  3 f 4  3 f 5  2 f 6  ...  2 f n3  3 f n2  3 f n1  f n 
a
8
UCM
38
Fórmula de Simpson (Newton-Cotes de grado 2 o grado par)
Fórmula de Simpson 1/3:

I( f ) 
h
 f 0  4 f1  f 2  Error  
h 5 iv
f ( )
3 90

Otra forma generalizada de expresarla en n intervalos cuando n sea par sería:

𝑏 𝑛/2 𝑥2𝑗 𝑛/2


ℎ ℎ5 4
𝐼 𝑓 = න 𝑓 𝑥 . 𝑑𝑥 = ෍ න 𝑓 𝑥 . 𝑑𝑥 = ෍ 𝑓 𝑥2𝑗−2 + 4𝑓 𝑥2𝑗−1 + (𝑥2𝑗 ) − 𝑓 (𝜉𝑗 )
𝑎 𝑥2𝑗−2 3 90
𝑗=1 𝑗=1

𝑛
−1 𝑛/2 𝑛/2
𝑏 2
ℎ ℎ5 4
𝐼 𝑓 = න 𝑓 𝑥 . 𝑑𝑥 = 𝑓 𝑥0 + 2 ෍ 𝑓 𝑥2𝑗 + 4 ෍ 𝑓 𝑥2𝑗−1 + 𝑓 (𝑥𝑛 ) − ෍𝑓 (𝜉𝑗 )
𝑎 3 90
𝑗=1 𝑗=1 𝑗=1

Por el Teorema del Valor Intermedio, el error queda como:

h 5 n iv h4 (b  a) 5
Error   f ( )   (b  a) f (  )  
iv
4
max f iv
( )
90 2 180 180.n

Hazlo para cuando U M C


n es impar
39
Ejemplos Fórmulas de Simpson
Derivada cuarta de f
1
Y(sqrt(3)/2) = 0.8463
0.5

2.5

0 Derivada uinta=0 obtenemos el punto del máximo= sqrt(3)/2


2
Q

2
𝑥 2 )1/2 = 2.958
-0.5

‫׬‬0 (1 +
1.5

1
-1
0.5

-1.5
0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

>> x=[0 1 2]; h=1; y=feval(f,x); %Simpson 1/3


-2

>> Q1 = (h/3)*(y(1) + 4*f(2) + f(3))


-2.5

-3
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Cuarta derivada
Q1 = 2.96431 >> x=linspace(0,2);
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)
h 5 iv (b  a) 5
Error   f ( )  max f iv
( )  9.4 x10 3

90 h (b  a ) / 2
90.25

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:


(b  a)5
Errortrucamiento  max f iv
( )  1.5 x10 5

180.104
UCM
40
Ejercicios con Fórmulas de Simpson
2.5

2
‫׬‬0 (1 + 𝑥 2 )1/2 = 2.958
1.5

0.5

0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

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

UCM
41
Ejercicio propuesto para realizar con diferentes métodos

Determinar la distancia recorrida para los siguientes pares de datos


experimentales:

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

UCM
Comparación métodos para varias funciones 42

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

UCM
Anexo: Fórmulas de integración de Newton-Cotes
43

Grados superiores suelen producir soluciones menos exactas debido a:


1. Los errores de redondeo que son inversamente proporcionales a h.
2. Las irregularidades locales del polinomio por tener un orden excesivo

UCM
Integración numérica con MatLab
44

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:

%-------------------%
x 2
function y = myfun(x) 1
y = 1./(x.^3-2*x-5); x0 x3  2 x  5 dx   0.4605
%-------------------%

>> Q = quad('myfun',0,2)

Q = -0.4605

UCM
Integración numérica con MatLab
45

TRAPZ Integración por la regla del trapecio.

Ejemplo: 

 sin( x)dx 2
0

>> X = 0:pi/100:pi;
>> Y = sin(X);
>> Z = trapz(X,Y)

Z= 1.9998

UCM
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) Se puede integrar
utilizando los
ans =2 - (5*pi^3)/3 extremos de
integración “0” y “pi”.
>> syms x; int(exp(x)*cos(4*x),x,0,pi)
ans=1/17*exp(pi)-1/17 Double para
>> double(ans) pasar de
ans = 1.3024 simbólico a
Recordad: también por el método Montecarlo (aleatorios). Hecho en prácticas numérico
UCM
47

ANEXO:
Desarrollo de Taylor
Determinación de un
polinomio de interpolación por
el método de Newton-Gregory
UCM
48
Anexo: Series de Taylor
Si suponemos que la función f(x) es suficientemente diferenciable su aproximación de
Taylor cerca de un punto x0 es:

1 1 ( n 1)
f ( x )  f ( x0 )  f '( x0 )( x  x0 )  f (n)
( x0 )( x  x0 ) n  f ( z)( x  x0 ) n 1
n! (n  1)!
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:

1
f ( x )  p( x )  f ( x 0 )  f '( x 0 )( x  x 0 )  f (n)
( x 0 )( x  x 0 ) n
n!
El error al representar una función por un polinomio de Taylor viene dado por el término
(ERROR DE TRUNCAMIENTO):
1 ( n 1)
f ( x )  p( x )  f ( z)( x  x 0 ) n 1
(n  1)!

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

UCM
más suave sea la función (derivadas más pequeñas) la aproximación es mejor.
Anexo: Newton-Gregory
49

• 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:
f 0  f 1  f 0 , f 1  f 2  f 1 ,, f i  f i  f i 1
Las diferencias de orden superior se obtienen recursivamente:
2 f 0  ( f 0 )  ( f 1  f 0 )  ( f 2  f 1 )  ( f 1  f 0 )  f 2  2 f 1  f 0
Una diferencia de orden n se puede expresar del siguiente modo:

 n  n  n n(n  1) (n  i  1)
 f 0  f n    f n 1    f n  2  ( 1) f 0 ,   
n n

 1  2 i i!
• 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:
(x  x 0 ) (x  x 0 )(x  x 1 ) 2 (x  x 0 )(x  x 1 )(x  x n 1 ) n
p n (x)  f 0  f 0   f 0   f0
h 2h 2 n!h n
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.

UCM
50
Anexo. Newton-Gregory
• En este caso la tabla de diferencias se construye muy fácilmente ya que una
columna se obtiene restando elementos de la columna de su izquierda. Por ejemplo:
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

diferencias
for i=0,...,n do
• Estamos en condiciones de escribir el
dfi = fi
algoritmo de las diferencias o de Newton.
end
Primero veamos como se obtienen las
for j=1,2,...,n do
diferencias
for i=i,j+1,...,n do
end
• Una vez obtenidos estos coeficientes ya
for i=i,j+1,...,n do
podemos evaluar el polinomio en un
fi = dfi
punto para interpolar o extrapolar un
end
valor.
end

UCM

You might also like