u c m diferenciación e integración anexo: método de interpolación newton-gregory
TRANSCRIPT
UCM
Diferenciación e Integración
f xf x h f x
h' ( )
( ) ( )
f x dxh
f fx
x
i ii
i
( ) ( )
2
1
1
ANEXO: Método de interpolación Newton-Gregory
UCM
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 f0x1 f1x1 f2x3 f3
0
'( ) ( , ( )),
( )
y x f x y x
y x
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
3Diferenciació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,…,nes 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
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.
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.
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
( ) ( ) ( ) '( ) '( ) '( )n n n nf x P x E x f x P x E x
0
( ) ( ) ( ) ( )'( ) lim
h
f x h f x f x h f xf x
h h
UCM
5Diferenciació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.
UCM
6Diferenciación: Polinomios de interpolación (Ver anexo)¿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)
(2) Derivar Pn(x):
(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.
0
1100
22
100
00 !
... !2
)( fhn
xxxxxxf
h
xxxxf
h
xxfxP n
nn
n
1n
0k k
1n10n0
n
10202130
3
1020
20
n
xx
xxxxxx
hn
f
xxxxxxxxxxxxh3
fxxxx
h2
f
h
fxP
)(
)())((
!..........
...))(())(())((!
))((!
)('
Δ
ΔΔΔ
1n0n
03
02
00n
1n02010n0
n
001020
20
0n
1n
f
3
f
2
ff
h
1xP
xxxxxxhn
fxxxx
h2
f
h
fxP
)()(
)())((!
...)()(!
)(
'
'
ΔΔΔΔ
ΔΔΔ
UCM
7Diferenciació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 ∆ 4fi0.0 0.000 0.203 0.017 0.024 0.0200.2 0.203 0.220 0.041 0.0440.4 0.423 0.261 0.0850.6 0.684 0.3460.8 1.030
• Un solo término:
• Dos términos:
• Tres términos:
P xf
hx x
f
hx x x x
f
n h
f
hh
f
hh n
f
n h hf
f f
n
n n
n
n
nn
n
nn
' ( ) ( ) ( ) ( )!
( )!!
( ( ) )
00
0 1
20
2 0 1 0 10
02
02
1 00
20 0 1
2
21
1
21
1
1'(0.0) '(0.0) (0.203) 0.1015
0.2f p
2
1 0.017'(0.0) '(0.0) (0.203 ) 0.09725
0.2 2f p
3
1 0.017 0.024'(0.0) '(0.0) (0.203 ) 0.1015
0.2 2 3f p
UCM
8Diferenciació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.
h
hOh
xfhxf
h
xfhxfxf kkkk
hk
si
)(lim)(0
'Formula de diferenciación adelantada de 2 puntos
f x f x f x x xn
f x x xn
f z x xn n n n( ) ( ) ' ( )( )!
( )( )( )!
( )( )( ) ( )
0 0 0 0 0
10
11 1
1
UCM
9Errores 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.
( ) ( ) 1'( ) ;
f x h f xf x Ch D C D
h h
DOMINA ELERROR DE TRUNCADO
DOMINA ELERROR DE REDONDEO
error de truncado error de redondeo
h límite o valor óptimoh
ErrorTotal
Ejemplo: f(x)=atan(x) en x=sqrt(2) el valor óptimo de h es 1.5x10-8
Error truncamiento)D depende del epsEl error redondeo es muy influyente ya que h es pequeño y puede hacer que la diferenciación sea inestable
UCM
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
f xf x h f x
h' ( )
( ) ( )
2
( ) ( ) '( ) ''( );2
;
hf x h f x hf x f z
x z x h
f xf x h f x
h
hf z
f x h f x
hO h' ( )
( ) ( )' ' ( )
( ) ( )( )
2
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.
UCM
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
21 10
2
'( ) ( );2
(́ )6
f ff x O h
h
hError f z
222 1 0
0
4 3'( ) ( ); (́ )
2 3
f f f hf x O h Error f z
h
UCM
12
Fórmulas primera derivada Fórmulas segunda derivada
Fórmulas tercera derivada Fórmulas cuarta derivada
Fórmulas de Derivadas Diferencias Finitas
f xf f
hO h
f xf f
hO h
f xf f f
hO h
f xf f f f
hO h
' ( ) ( )
' ( ) ( )
' ( ) ( )
' ( ) ( )
01 0
01 1 2
02 1 0 2
02 1 1 2 4
24 3
28 8
12
2 1 00 2
1 0 10 2
23 2 1 00 2
42 1 0 1 20 2
2''( ) ( )
2''( ) ( )
4 5 2''( ) ( )
16 30 16''( ) ( )
12
f f ff x O h
hf f f
f x O hh
f f f ff x O h
hf f f f f
f x O hh
f xf f f f
hO h
f xf f f f
hO h
' ' ' ( ) ( )
' ' ' ( ) ( )
03 2 1 0
3
02 1 1 2
32
3 3
2 2
2
f xf f f f f
hO h
f xf f f f f
hO h
IV
IV
( ) ( )
( ) ( )
04 3 2 1 0
4
02 1 0 1 2
42
4 6 4
4 6 4
UCM
13Determinar el error al calcular la derivada del ln(2)
x0= 2 ln(x0)= 0,693147181 f'(x0)= 0,5
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,0012458490,001 0,693647056 0,499875042 -0,000124958
0,0001 0,693197179 0,4999875 -1,24996E-05
Considerando diferencias adelantadas
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ón2. Diferencias finitas adelantada en dos puntos3. D.F. retrasada con dos puntos4. D.F. centrada con dos puntosConsiderando 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?
2.125.05.016.01.0)( 234 xxxxxf
UCM
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)
UCM
16Ejemplo 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).
)( TAkdt
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)
)(1i
ii TAkt
TT
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.
525.1 1 ii TT
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
AeATT kto ).(Se puede comparar estos datos con
los dados por la solución analítica de la ley de transferencia:
UCM
17Ejemplo en una dimensión: Diferencias finitas centradas
1V elige se V, paraun valor Considerar *
0.1x por tanto 0.9. ...., 0.2, 0.1, nodos losen u de valor el Establecer*
:debe Se
1u(1)
0u(0)
:contorno
02
2
descondicioneCondx
duV
dx
ud
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.
UCM
18
02
2
dx
duV
dx
ud
0
.2
2
:9...,2,1
112
11
x
uuV
x
uuu
icentradassdiferencia
iiiii
gamma beta. alfa
21221
0.2
12
.2
1
x
V
xu
xu
x
V
xu iii
:1i Nodo 02
u .1
u . 0
u . gammabetaalfa
03
u .2
u .1
u . :2i Nodo gammabetaalfa
09
u .8
u .7
u . :8i Nodo gammabetaalfa…………………….
010
u .9
u .8
u . :9i Nodo gammabetaalfa
Sistema de ecuaciones11 incógnitas11 ecuacionesYa que hay que incorporar u0=0 y u10=1
UCM
19
1
0
1.0
1
0
10
0
2
2
u
u
x
Vdx
duV
dx
ud
95.2
1
2002
1051.0*2
1
1.0
1
.2
1
2
2
22
x
V
xgamma
xbeta
x
V
xalfa
10000000000
9520010500000000
0952001050000000
0095200105000000
0009520010500000
0000952001050000
0000095200105000
0000009520010500
0000000952001050
0000000095200105
00000000001
. =
Soluciones: 0.0000 0.0612 0.1288 0.2035 0.2861 0.3774 0.4784 0.5899 0.7132 0.8494 1.0000
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
0COMPARA ESTA SOLUCIÓN CON LA EXACTA:
1
1)(
e
exu
x
UCM
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
1
1)(
25
25
e
exu
x
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-0.2
0
0.2
0.4
0.6
0.8
1
1.2
X
Sol
ucio
nes
U
Con V=1
Soluciones con Dif. Finitas
Valores exactos
Compara gráficamente las soluciones obtenidas con V=25con las exactas dadas por la ecuación:
Haz lo mismo con V=100
Diferencias finitas (Ejercicios propuestos)
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 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
0)(2
2
TAkdx
Td
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 402 1354 2346 3418 462
10 600
Soluciones aproximadas:
Se ha de resolver un sistema de ecuaciones
UCM
22Integració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):
b
a
nniii xxbadxxffIfx ,, / ? )()(, Sea 0,...,1,0
b
a
n
iii fAdxxffI
0
)()(
b
a
ii
b
a
b
a
b
a
n
iiin dxxlAdxxlfdxxPdxxffI )()()()()(
0
UCM
23Integració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:1. Mediante una interpretación gráfica del área que abarca la función.
2. A partir de los polinomios de interpolación
I f f x dx F x F b F aa
b
a
b( ) ( ) ( ) ( ) ( )
I f f x dx A f xi
i i
n
a
b( ) ( ) ( )
0
f x dx P x dxa
b
na
b( ) ( )
UCM
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
UCM
25Integració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 SimpsonSi 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.
b
a
b
a
nn
n fhn
xxxxf
h
xxxxf
h
xxfdxxffI 0
100
22
100
00 !
... !2
)()(
Taylor de Desarrollo
, z ,)!1(
)( )( 0
1
0
n
b
a
b
a
n
nn xxdxn
zfxxxxdxxEError
UCM
26Fó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 Simpsondonde 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
f x dxh
f f h f z x z xx
x
n( ) ( ) ( );( )
0
1
2
1
120 13 2
0
f x dxh
f f f h f z x z xx
x
n( ) ( ) ( );( )
0
2
34
1
900 1 25 4
0
f x dx f f f f h f z x z xx
x
n( ) ( ) ( );( )
0
3 3h
83 3
3
800 1 2 35 4
0
• Grados superiores suelen producir soluciones menos exactas debido a los errores de redondeo y a las irregularidades locales.
UCM
27ERRORES 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:
f x dxh
f f h f z x z xx
x
n( ) ( ) ( );( )
0
1
2
1
120 13 2
0
f x dxh
f f f h f z x z xx
x
n( ) ( ) ( );( )
0
2
34
1
900 1 25 4
0
f x dx f f f f h f z x z xx
x
n( ) ( ) ( );( )
0
3 3h
83 3
3
800 1 2 35 4
0
𝐸𝑟𝑟𝑜𝑟=⌊h𝑛+3 . 𝑓 (𝑛+2 )(𝑧 )
(𝑛+2 )! 0
𝑛
𝑡 . 𝑡 . (𝑡−1 )…. (𝑡−𝑛) .𝑑𝑡 ⌋
𝐸𝑟𝑟𝑜𝑟=⌊h𝑛+2 . 𝑓 (𝑛+1)(𝑧 )
(𝑛+1 ) ! 0
𝑛
𝑡 . (𝑡−1 ) .(𝑡−2)…. (𝑡−𝑛) .𝑑𝑡 ⌋
, z ,)!1(
)( )( 0
1
0 n
b
a
b
a
n
nn xxdxn
zfxxxxdxxEError
UCM
28Fó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:
b
a
b
a
nn xPdxxPdxxffI 1 grado de es )( que tal?, )()()(
f1
f0
x0 x1
10
200
000
01
2)(
2)()(
1
0
1
0
1
0
ffh
fI
xx
h
fxfdxf
h
xxfdxxPfI
x
x
x
x
x
x
Fórmula del área de un trapecio
f de segunda derivada la (2)
f siendo
10)2(
3
10
),(12
2)(
1
0
xxfh
Error
ffh
dxxfx
x
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
UCM
29Fó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:
nn
b
a
b
a
x
x
n
i
x
x
n
iii
fffffh
dxxf
ffh
dxxfdxxfdxxfn i
i
1210
1
0
1
01
2222
)(
2)()()(
0
1
A partir de {(xi, fi)}i=0,1,…,n
x0=a y xn=b
)(
)(12
3
0)2(
3
hOtotruncamienporerrorunEs
xxconfh
Error nerrores
f2
f0
x0 x1 x2 x3
f1
f3
h¿Cuánto vale h?h=(b-a)/nSiendo 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.
UCM
),(
)(''max.12
)()(''max
12)(''
12
)()(2)(2
)(
2
33
int
3
1
10
badonde
fn
abfn
hf
hE
xfxfxfh
dxxf
ervaloadaerroresenciT
n
kNk
b
a
30Fórmula extendida (o compuesta) del trapecio
nn
b
a
b
a
x
x
n
i
x
x
n
iii
fffffh
dxxf
ffh
dxxfdxxfdxxfn i
i
1210
1
0
1
01
2222
)(
2)()()(
0
1
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)/nSiendo n el número de intervalos equidistantes entre sí.
siendo h=(b-a)/n,
xk=a+kh
k=0,1,2,...,n
UCM
Determinar por la regla del trapecio:
Sea: a=x0=0 y b=x1=1 (2 puntos)Número de intervalos: n=1 h=1
f(xo)=1 f(x1)=e
0
1
𝑒𝑥2
=h2
( 𝑓 (𝑥𝑜 )+ 𝑓 (𝑥1))=1.85914
0
1
𝑒𝑥2
=1.4626
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10
0.5
1
1.5
2
2.5
3f(x)=exp(x2)
>> 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 Matlabans = 1.859140914229523
Otra opción : : Con números aleatoriosOtra opción : : En Matlab con cálculo simbólico
Ejemplos Regla del trapecio
UCM
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
0
1
𝑒𝑥2
=h2 ( 𝑓 (𝑥𝑜)+ 𝑓 (𝑥5)+2.∑
𝑖=1
4
𝑓 (𝑥𝑖)¿)=1.4806546
0
1
𝑒𝑥2
>> 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
UCM
33
= 2.958
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20
0.5
1
1.5
2
2.5
>> x=[0 2]; y=feval(f,x); trapz(x,y)% 1 intervaloans = 3.236067977499790 Segunda derivada
>> x=linspace(0,2);d2f=1./((1+x.^2).^(3/2));plot(x,d2f); max(d2f)
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
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 intervalosans = 2.960867376984531
32
3
intervalos
3
107.6)(''max10.12
)()(''
12
xf
abf
htotruncamienError
n
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
UCM
34Fórmulas de Simpson (Newton-Cotes de grado 2 y 3)
Fórmula de Simpson:
Es decir, se parte de
b
a
nn
b
a
xPdxxPdxxffI 3 o 2 grado de es)( que tal? )()()(
f1
f0
x0
ax1 x2
b
f3
P2(x)
f1
f0
x0
ax1 x3
b
f3 P3(x)
x2
f2
],[],[)( puntos 4
],[],[)( puntos 3
303
202
xxbaxP
xxbaxP
UCM
35Fórmulas de Simpson (Newton-Cotes de grado 2 y 3)
Fórmula de Simpson:
b
a
nn
b
a
xPdxxPdxxffI 3 o 2 grado de es)( que tal? )()()(
f1
f0
x0
ax1 x2
b
f3
P2(x)
f1
f0
x0
ax1 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/8Si 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.
UCM
36Fórmulas de Simpson (Newton-Cotes de grado 2 y 3)
Fórmula de Simpson 1/3:
Fórmula de Simpson 3/8:
210
02
210
00
02
43
)(
!2)()(
2
0
2
0
fffh
fI
dxfh
xxxxf
h
xxfdxxPfI
x
x
x
x
3210
03
3210
02
210
00
03
338
3)(
!3!2)()(
3
0
3
0
ffffh
fI
dxfh
xxxxxxf
h
xxxxf
h
xxfdxxPfI
x
x
x
x
Newton-Gregory
)(80
3 5
ivfh
Error
)(90
5
ivfh
Error
UCM
37Fó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):
nnn
a
n
ii
iii
a
x
x
ffffffffh
dxxf
fffh
dxxfdxxf
b
b
1243210
2
20
21
42...24243
)(
43
)()(2
0
nnnn
a
n
ii
x
x
n
ii
iiii
a
x
x
fffffffffffh
dxxf
ffffh
dxxfdxxfdxxf
b
i
i
b n
1236543210
3
30
3
30
321
332...2332338
3)(
338
3)()()(
3
0
UCM
38Fórmula de Simpson (Newton-Cotes de grado 2 o grado par)
Fórmula de Simpson 1/3:
210 43
)( fffh
fI )(90
5
ivfh
Error
Otra forma generalizada de expresarla en n intervalos cuando n sea par sería:
𝐼 ( 𝑓 )=𝑎
𝑏
𝑓 (𝑥 ) .𝑑𝑥=∑𝑗=1
𝑛 / 2
𝑥2 𝑗− 2
𝑥2 𝑗
𝑓 (𝑥 ) .𝑑𝑥=¿∑𝑗=1
𝑛 / 2 {h3 [ 𝑓 (𝑥2 𝑗 −2 )+4 𝑓 (𝑥2 𝑗− 1 )+(𝑥2 𝑗)]− h5
90𝑓 ( 4 )(𝜉 𝑗)}¿
𝐼 ( 𝑓 )=𝑎
𝑏
𝑓 (𝑥 ) .𝑑𝑥=h3
¿
Por el Teorema del Valor Intermedio, el error queda como:
)(max.180
)()()(
180)(
290 4
545
iviviv fn
abfab
hf
nhError
Hazlo para cuando n es impar
UCM
3939
= 2.9580 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
0
0.5
1
1.5
2
2.5
>> 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.96431Cuarta 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:
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2-3
-2.5
-2
-1.5
-1
-0.5
0
0.5
1Derivada cuarta de f
DerivadaQ
uinta=0 obtenemos el punto del máximo= sqrt(3)/2
Y(sqrt(3)/2) = 0.8463
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)
35
5
2/)(
5
104.9)(max2.90
)()(
90
xfab
fh
Error iv
abh
iv
54
5
105.1)(max10.180
)(
xfab
Error ivotrucamient
Ejemplos Fórmulas de Simpson
UCM
4040
= 2.9580 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
0
0.5
1
1.5
2
2.5
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
UCM
4141
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:
UCM
42Comparación métodos para varias funciones
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,389Trapecio 4,000 16,000 1,333 3,236 0,909 8,389De Simpson 2,667 6,667 1,111 2,964 1,425 6,421
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].
UCM
43Anexo: Fórmulas de integración de Newton-Cotes
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
44Integració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
4605.052
12
03
x
x
dxxx
UCM
45Integració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
2)sin(0
dxx
UCM
4646INTEGRACIÓ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
UCM
47
ANEXO:Desarrollo de TaylorDeterminación de un
polinomio de interpolación por el método de Newton-
Gregory
UCM
4848
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
f x f x f x x xn
f x x xn
f z x xn n n n( ) ( ) ' ( )( )!
( )( )( )!
( )( )( ) ( )
0 0 0 0 0
10
11 1
1
f x p x f x f x x xn
f x x xn n( ) ( ) ( ) ' ( )( )!
( )( )( ) 0 0 0 0 0
1
f x p xn
f z x xn n( ) ( )( )!
( )( )( )
1
11
01
UCM
49Anexo: 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.
f f f f f f f f fi i i0 1 0 1 2 1 1 , , ,
20 0 1 0 2 1 1 0 2 1 02f f f f f f f f f f f ( ) ( ) ( ) ( )
nn n n
nf fn
fn
f fn
in n n i
i0 1 2 01 21
1 1
( ) ,
( ) ( )
!
p x fx x
hf
x x x x
hf
x x x x x x
n hfn
nn
n( )( ) ( )( ) ( )( ) ( )
!
0
00
0 12
20
0 1 102
UCM
5050
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:
• 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.
diferenciasfor i=0,...,n do
dfi = fiendfor j=1,2,...,n do
for i=i,j+1,...,n doend
for i=i,j+1,...,n dofi = dfi
endend
xi fi fi fi fi fi
0.0 0.000 0.203 0.017 0.024 0.0200.2 0.203 0.220 0.041 0.0440.4 0.423 0.261 0.0850.6 0.684 0.3460.8 1.030