Diferenciación e Integración
numérica
Programación Numérica
Diferenciación
La diferenciación numérica puede calcularse usando la
definición de derivada
f '  x 0   lim
h 0
f  x0  h   f  x0 
h
Tomando una h pequeña. Si h > 0 se llama fórmula de
diferencia progresiva, si h < 0 se llama fórmula de diferencia
regresiva.
Error
x0= 2 ln(x0)= 0.693147181 f'(x0)= 0.5
h
0.1
0.01
0.001
0.0001
f(x0+h)
( f(x0+h) - f(x0) ) /h
0.741937345
0.487901642
0.698134722
0.498754151
0.693647056
0.499875042
0.693197179
0.4999875
|inc -f'(x0)|
-0.012098358
-0.001245849
-0.000124958
-1.24996E-05
Preguntas rápidas
Obtenga la derivada de las siguientes funciones en el punto
especificado utilizando Excel o Matlab. Compárelas con el
valor obtenido analíticamente.
1. f(x) = 3x sen(2x), x = p/6
2. f(x) = 5ln(x + 1) – x2/5, x = 1.2
Fórmulas de diferencias divididas
hacia adelante
Primera derivada
f '  xi  
f  x i 1   f  x i 
f '  xi  
 f  x i  2   4 f  x i 1   3 f  x i 
h
2h
Segunda derivada
f ' '  xi  
f  x i  2   2 f  x i 1   f  x i 
h
f ' '  xi  
2
 f  x i  3   4 f  x i  2   5 f  x i 1   2 f  x i 
h
2
Tercera derivada
f ' ' '  xi  
f ' ' '  xi  
f  x i  3   3 f  x i  2   3 f  x i 1   f  x i 
h
3
 3 f  x i  4   14 f  x i  3   24 f  x i  2   18 f  x i  1   5 f  x i 
2h
3
Fórmulas de diferencias divididas
centradas
Primera derivada
f '  xi  
f  x i  1   f  x i 1 
 f  x i  2   8 f  x i  1   8 f  x i 1   f  x i  2 
f '  xi  
12 h
h
Segunda derivada
f ' '  xi  
f  x i  1   2 f  x i   f  x i 1 
h
f ' '  xi  
2
 f  x i  2   16 f  x i  1   30 f  x i   16  x i 1   f  x i  2 
12 h
2
Tercera derivada
f ' ' '  xi  
f ' ' '  xi  
f  x i  2   2 f  x i 1   2 f  x i  1   f  x i  2 
2h
3
 f  x i  3   8 f  x i  2   13 f  x i  1   13 f  x i 1   8 f  x i  2   f  x i  3 
8h
3
Fórmulas de diferencias divididas
hacia atrás
Primera derivada
f '  xi  
f  x i   f  x i 1 
f '  xi  
3 f  x i   4 f  x i 1   f  x i  2 
h
2h
Segunda derivada
f ' '  xi  
f  x i   2 f  x i 1   f  x i  2 
h
f ' '  xi  
2
2 f  x i   5 f  x i 1   4 f  x i  2   f  x i  3 
h
2
Tercera derivada
f ' ' '  xi  
f ' ' '  xi  
f  x i   3 f  x i 1   3 f  x i  2   f  x i  3 
h
3
5 f  x i   18 f  x i 1   24 f  x i  2   14 f  x i  3   3 f  x i  4 
2h
3
Ejemplo
f (x) = – 0.1x4 – 0.15x3 – 0.5x2 – 0.25x+1.2
x i-2
x i-1
xi
x i+1
x i+2
0
0.25
0.5
0.75
1
f'(x)
0.5
centrada
hacia adelante
hacia atrás
1.20000
1.10352
0.92500
0.63633
0.20000
-0.91250
O(h)
error
O(h^2)
error
-0.934375
2.4%
-0.9125
0.0%
-1.154688
26.5% -0.859375
5.8%
-0.714063
21.7% -0.878125
3.8%
Datos no espaciados
regularmente
Para derivar datos no espaciados regularmente se utiliza la
siguiente fórmula. Se requiere conocer la función en tres
puntos.
f '  x   f  x i 1 
f  xi 
2 x  x i  x i 1
 x i 1  x i  x i 1  x i 1 
2 x  x i 1  x i  1
 x i  x i 1  x i  x i 1 
f  x i 1 
2 x  x i 1  x i

 x i 1  x i 1  x i 1  x i 

Ejemplo
El flujo de calor en la interfaz suelo-aire puede calcularse con la ley
de Faraday
dT
q z  0    k C
dz
z0
Donde q = flujo de calor, k = coeficiente de difusividad térmica
(3.5x10-7),  = la densidad del suelo (1800), C = calor específico
del suelo (840).
f ' 0   13 . 5
12
2 0   1 . 25  3 . 75
0  1 . 25 0  3 . 75 
2 0   0  3 . 75
1 . 25  0 1 . 25  3 . 75 
 10
Aire

2 0   0  1 . 25
Suelo
1.25
3 . 75  0 3 . 75  1 . 25 
= –1.333
q = 70.56
3.75
10
12 13.5
Integración numérica
A los métodos de integración se les llama cuadratura numérica.
Seleccionaremos un conjunto de nodos [x0, ..., xn] del intervalo
[a, b].
Después integramos un polinomio interpolante de Lagrange
P x  
n
 f  x L  x 
i
i
i0
Se obtiene:
n
 f  x dx   a f  x 
b
i
a
Donde
i0
ai 

b
a
Li  x 
i
Regla del trapecio
Utilizando un polinomio interpolante lineal de Lagrange.
x  x0 
 x  x1 
f x0  
f x 
 x 0  x1 
 x1  x 0  1
P x  
 f  x dx  
b
b
a
a

 x1  x 0 
2
  x  x1 

x  x0 
f x0  
f  x1  dx





x

x
x

x
1
1
0
 0

h
 f  x 0   f  x1     f  x 0   f  x1  
2
Donde h = x1 – x0 =
Esta fórmula vale cuando
f(x) tiene valores positivos.
P1
f
Da valores exactos para
polinomios de grado 1.
x0 = a
x1 = b
Pregunta rápida
Muestre que se cumple la regla del trapecio
 f  x dx  
b
b
a
a

 x1  x 0 
2
  x  x1 

x  x0 
f x0  
f  x1  dx

 x1  x 0 
  x 0  x1 

h
 f  x 0   f  x1     f  x 0   f  x1  
2
Regla se Simpson
La regla se Simpson se obtiene suponiendo el segundo polinomios
de Lagrange con los nodos x0 = a, x2 = b, x1 = a + h, h = (b – a)/2.

b
a

f  x dx 
h
3

b
a
  x  x1  x  x 2 

 x  x 0  x  x 2 
 x  x 0  x  x1 






f
x

f
x

f
x
dx
0
1
2 










x

x
x

x
x

x
x

x
x

x
x

x
1
0
2
1
0
1
2
2
0
2
1
 0

 f  x 0   4 f  x1   f  x 2 
Donde se han
despreciado los términos
de error.
La fórmula es exacta para
polinomios de hasta
tercer grado.
f
x0 = a
x1
P3
x2 = b
Comparación
Comparación entre el valor exacto, la regla del trapecio y
la regla de Simpson para diferentes funciones en el
intervalo [0 , 2].
f(x)
Valuación exacta
Trapecio
De Simpson
x^2
2.667
4.000
2.667
x^4
6.400
16.000
6.667
1/(x + 1)
1.099
1.333
1.111
sqrt(1 + x2)
2.958
3.236
2.964
sen x
1.416
0.909
1.425
exp(x)
6.389
8.389
6.421
Regla de Simpson 3/8
Ajustando polinomios de Lagrange de orden 3 usando cuatro
puntos se llega a la regla de Simpson de 3/8
I 
b
3h
a
8
 f x  
 f  x 0   3 f  x1   3 f  x 2   f  x 3 
También puede expresarse por:
I 
b
 f  x 0   3 f  x1   3 f  x 2   f  x 3 
a
8
 f  x   b  a 
Esta regla es útil cuando el número de puntos es impar.
Integración numérica compuesta
Integrando ex por Simpson en [0,4]

4
e dx 
x
2
3
0
e
0
 4 e ´ e
2
4
  56 .76958
El error es: 53.59815 – 56.76958 = –3.17143
Separando en dos integrales:

4
e dx 
x
0

e dx 
x
0
1
3


2
1
3
e
0
e
0
 4e  e

4
x
e dx
2
2
  1 e
2
 4e  e
3
3
 4e  2e  4e  e
 53 . 86385
2
3
4

4

Dividiendo en 4 intervalos

4
e dx 
x
0

1
1
6

e dx 
x
0
6


1
1
3
e
0
e
2
e
0
 4e
 4e

2
e dx 
x
1
1
2
5
2

e 
e
3

3
e dx 
x
2
1
6
e  4 e
  1 e
3
 4e
7
2

e
4
 2e  4e
5
3
2

6
 4e
1
2
 2e  4e
3
2
2
x
e dx
3
e
2

4
2
 2e  4e
3
7
2
e
 53 . 61622
El error es: 53.59815 – 53.61622 = –0.01807
4

Regla compuesta de Simpson
Teorema. Sea f C4[a, b], n par, h = (b – a)/n, y xj = a + jh para
cada j = 0, 1, 2, ... n . La regla de Simpson para n subintervalos
puede escribirse como:

b
a
 n / 2 1
n/2

h
f  x dx   f  a   2  f  x 2 j   4  f  x 2 j 1   f b 
3
j0
j0

y= f(x)
x0 = a
x2
x2j-1
x2j
x2j+1
xn = b
Regla compuesta del trapecio
Teorema. Sea f C4[a, b], n par, h = (b – a)/n, y xj = a + jh para
cada j = 0, 1, 2, ... n . La regla del trapecio para n subintervalos
puede escribirse como:

b
a
n 1

h
f  x dx   f  a   2  f  x j   f b 
2
j 1

y= f(x)
x0 = a x1
xj-1
xj
xn–1 xn = b
Regla compuesta del punto
medio
Teorema. Sea f C4[a, b], n par, h = (b – a)/(n+2), y xj = a +
(j+1)h para cada j = –1, 0, 1, 2, ... n+1. La regla de compuesta
del punto medio para n subintervalos puede escribirse como:

b
a
n/2
f  x dx  2 h  f  x 2 j 
j0
y= f(x)
x0 = a x0
x1
xj-1
xj
xj+1
xn
xn+1 = b
Datos con espaciamiento
irregular
Si los datos están espaciados de forma irregular, como en el caso de datos
experimentales, la integración puede llevarse a cabo mediante la aplicación de la
regla del trapecio a cada subintervalo.
I  h1
f  x 0   f  x1 
2
 h2
f  x1   f  x 2 
Donde hi = ancho del segmento i.
2
 ...  h n
f  x n 1   f  x n 
2
Ejemplo
Determinar la distancia recorrida para los datos
siguientes:
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
t = [1 2 3.25 4.5 6 7 8 9 9.5 10];
v = [5 6 5.5 7 8.5 8 6 7 7 5];
suma = 0;
for i=2:length(t)
suma = suma + (t(i)-t(i-1))*(v(i-1)+v(i))/2;
end
suma
ans = 60.3750
Algoritmos Regla del trapecio
Algoritmos para la regla del trapecio de uno solo segmento
function trap(h, f0, f1)
trap = h*(f0+f1)/2
end
Algoritmos para la regla del trapecio de múltiples segmentos
function trap(h, n, f)
sum = f0;
for i = 1, n–1
sum = sum + 2*fi
end
sum = sum + fn
trap = h*sum/2
end
Algoritmos Regla simple de
Simpson
Regla de Simpson de 1/3
function simp13(h, f0, f1, f2)
simp13 = 2*h*(f0+4*f1+f2)/6
end
Regla de Simpson de 3/8
function simp38(h, f0, f1, f2, f3)
simp38 = 3*h*(f0+3*f1+3*f2+f3)/8
end
Regla de Simpson 1/3 múltiple
Function simp13m(h, n, f)
sum = f0
for i = 1, n–2, 2
sum = sum+4*fi+2*fi+1
end
sum = sum+4fn-1+fn
simp13m = h*sum/3
end
Algoritmos Regla compuesta de Simpson
Regla de Simpson de número de segmentos pares o impares
function simpint(a, b, n, f)
h = (b-a)/n
if n=1 then
sum=trap()
else
m = n
odd = n/2-int(n/2)
if odd>0 and n>1 then
sum = sum + simp38(h,fn-3,fn-2,fn-1,fn)
m = n-3
end
if m>1 then
sum = sum + simp13m(h, m, f)
end
end
simpint = sum
end
Ejemplo Trapecio
Sea la siguiente función:
f (x) = 0.2 + 25x – 200x2 + 675x3 – 900x4 + 400x5
Integrada en el intervalo de a = 0 a b = 0.8 con trapecio:
Valor real I = 1.64053333
f (a) = 0.2000 f (b) = 0.2320
I = h (f (b) – f (a) )/2 0.17280000
error = 89.47%
Ejemplo Simpson 1/3
Sea la siguiente función:
f (x) = 0.2 + 25x – 200x2 + 675x3 – 900x4 + 400x5
Integrada en el intervalo de a = 0 a b = 0.8 con trapecio:
Valor real I = 1.64053333
f (a) = 0.2
f ((a+b)/2) = 2.456 f (b) = 0.232
I = 0.8 (0.2+4(2.456)+0.232)/6 = 1.36746667 error = 16.6%
Ejemplo Simpson 3/8
Sea la siguiente función:
f (x) = 0.2 + 25x – 200x2 + 675x3 – 900x4 + 400x5
Integrada en el intervalo de a = 0 a b = 0.8 con trapecio:
Valor real I = 1.64053333
f (0) = 0.2
f (0.26667) = 1.432724
f (0.5333) = 3.487177
f (0.8) = 2.232
I = 0.8 (0.2+3(1.432724+3.487177)+ 2.232 )/8 = 1.519170
error = 7.4%
Ejemplo Simpson 1/3 y Simpson 3/8
Sea la siguiente función:
f (x) = 0.2 + 25x – 200x2 + 675x3 – 900x4 + 400x5
Integrada en el intervalo de a = 0 a b = 0.8 con 5 segmentos,
con trapecio 2 primeros y Simpson los 3 últimos:
Valor real I = 1.64053333
f (0) = 0.2
f (0.16) = 1.29692
f (0.32) = 1.74339
f (0.48) = 3.18601
f (0.64) = 3.18193 f (0.8) = 0.23200
Simpson 1/3:
I1/3 = 0.32*(0.2 +4(1.29692)+ 1.74339 )/6 = 0.3803237
Simpson 3/8
I3/8 = 0.48 (1.74339 +3(3.18601 + 3.18193 )+ 2.232 )/8
= 1.264754
I = 1.645077
error = 0.28%
x
0.00
0.12
0.22
0.32
0.36
0.40
0.44
0.54
0.64
0.70
0.80
f(x)
0.200000
1.309729
1.305241
1.743393
2.074903
2.456000
2.842985
3.507297
3.181929
2.363000
0.232000
Descargar

Diferenciación e integración numérica