diferenciación e integración numérica programación numérica

32
Diferenciación e Integración numérica Programación Numérica

Upload: tomas-pagan

Post on 11-Apr-2015

223 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Diferenciación e Integración numérica Programación Numérica

Diferenciación e Integración numérica

Programación Numérica

Page 2: 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

h

xfhxfxf

h

00

00 lim'

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.

Page 3: Diferenciación e Integración numérica Programación Numérica

Error

x0= 2 ln(x0)= 0.693147181 f'(x0)= 0.5

h f(x0+h) ( f(x0+h) - f(x0) ) /h |inc -f'(x0)|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

Page 4: Diferenciación e Integración numérica Programación Numérica

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 = /6

2. f(x) = 5ln(x + 1) – x2/5, x = 1.2

Page 5: Diferenciación e Integración numérica Programación Numérica

Fórmulas de diferencias divididas hacia adelante

h

xfxfxf ii

i

1'

Primera derivada

h

xfxfxfxf iii

i 234

' 12

Segunda derivada

2

12 2''

hxfxfxf

xf iiii

2

123 254''

h

xfxfxfxfxf iiii

i

Tercera derivada

3

123 33'''

h

xfxfxfxfxf iiii

i

3

1234

2

51824143'''

h

xfxfxfxfxfxf iiiii

i

Page 6: Diferenciación e Integración numérica Programación Numérica

Fórmulas de diferencias divididas centradas

h

xfxfxf ii

i11'

Primera derivada

h

xfxfxfxfxf iiii

i 1288

' 2112

Segunda derivada

2

11 2''

hxfxfxf

xf iiii

2

2112

12163016

''h

xfxxfxfxfxf iiiii

i

Tercera derivada

3

2112

2

22'''

h

xfxfxfxfxf iiii

i

3

321123

8

813138'''

h

xfxfxfxfxfxfxf iiiiii

i

Page 7: Diferenciación e Integración numérica Programación Numérica

Fórmulas de diferencias divididas hacia atrás

h

xfxfxf ii

i1'

Primera derivada

h

xfxfxfxf iii

i 243

' 21

Segunda derivada

2

212''

hxfxfxf

xf iiii

2

321 452''

hxfxfxfxf

xf iiiii

Tercera derivada

3

321 33'''

h

xfxfxfxfxf iiii

i

3

4321

2

31424185'''

h

xfxfxfxfxfxf iiiii

i

Page 8: Diferenciación e Integración numérica Programación Numérica

Ejemplo

x i-2 0 1.20000x i-1 0.25 1.10352x i 0.5 0.92500x i+1 0.75 0.63633x i+2 1 0.20000

f'(x) 0.5 -0.91250O(h) error O(h^2) error

centrada -0.934375 2.4% -0.9125 0.0%hacia adelante -1.154688 26.5% -0.859375 5.8%hacia atrás -0.714063 21.7% -0.878125 3.8%

f (x) = – 0.1x4 – 0.15x3 – 0.5x2 – 0.25x+1.2

Page 9: Diferenciación e Integración numérica Programación Numérica

Datos no espaciados regularmente

iiii

iii

iiii

iii

iiii

iii

xxxxxxx

xf

xxxxxxx

xf

xxxxxxx

xfxf

111

11

11

11

111

11

2

2

2'

Para derivar datos no espaciados regularmente se utiliza la siguiente fórmula. Se requiere conocer la función en tres puntos.

Page 10: Diferenciación e Integración numérica Programación Numérica

EjemploEl flujo de calor en la interfaz suelo-aire puede calcularse con la ley de Faraday

0

0

zdz

dTCkzq

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

25.175.3075.3

25.100210

75.325.1025.175.3002

12

75.3025.1075.325.102

5.130'

f

= –1.333q = 70.56

Aire

Suelo

13.51210

3.75

1.25

Page 11: Diferenciación e Integración numérica Programación Numérica

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

n

iii xLxfxP

0

Se obtiene:

n

iii

b

axfadxxf

0

Donde b

a ii xLa

Page 12: Diferenciación e Integración numérica Programación Numérica

Regla del trapecioUtilizando un polinomio interpolante lineal de Lagrange.

101

00

10

1 xfxxxx

xfxxxx

xP

101001

101

00

10

1

22xfxf

hxfxf

xx

dxxfxx

xxxf

xxxx

dxxfb

a

b

a

Donde h = x1 – x0 =

Esta fórmula vale cuando f(x) tiene valores positivos.

Da valores exactos para polinomios de grado 1.

x0 = a x1 = b

P1 f

Page 13: Diferenciación e Integración numérica Programación Numérica

Pregunta rápida

Muestre que se cumple la regla del trapecio

101001

101

00

10

1

22xfxf

hxfxf

xx

dxxfxxxx

xfxxxx

dxxfb

a

b

a

Page 14: Diferenciación e Integración numérica Programación Numérica

Regla se SimpsonLa 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.

210

21202

101

2101

200

2010

21

43

xfxfxfh

dxxfxxxx

xxxxxf

xxxx

xxxxxf

xxxxxxxx

dxxfb

a

b

a

Donde se han despreciado los términos de error.

La fórmula es exacta para polinomios de hasta tercer grado. x0 = a x2 = b

P3f

x1

Page 15: Diferenciación e Integración numérica Programación Numérica

Comparación

f(x) x 2̂ x 4̂ 1/(x + 1) sqrt(1 + x2) sen x exp(x)Valuación exacta 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 para diferentes funciones en el intervalo [0 , 2].

Page 16: Diferenciación e Integración numérica Programación Numérica

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

3210 338

3xfxfxfxf

hxfI

b

a

También puede expresarse por:

8

33 3210 xfxfxfxfabxfI

b

a

Esta regla es útil cuando el número de puntos es impar.

Page 17: Diferenciación e Integración numérica Programación Numérica

Integración numérica compuesta

76958.56´432 4204

0 eeedxex

Integrando ex por Simpson en [0,4]

El error es: 53.59815 – 56.76958 = –3.17143

Separando en dos integrales:

86385.53

42431

431

431

4320

43220

4

2

2

0

4

0

eeeee

eeeeee

dxedxedxe xxx

Page 18: Diferenciación e Integración numérica Programación Numérica

Dividiendo en 4 intervalos

61622.53

424242431

461

461

461

461

4320

4332

20

4

3

3

2

2

1

1

0

4

0

27

25

23

21

27

25

23

21

eeeeeeeee

eeeeee

eeeeee

dxedxedxedxedxe xxxxx

El error es: 53.59815 – 53.61622 = –0.01807

Page 19: Diferenciación e Integración numérica Programación Numérica

Regla compuesta de Simpson

bfxfxfafh

dxxfn

jj

n

jj

b

a

2/

012

12/

02 42

3

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:

x0 = a xn = b

y= f(x)

x2 x2j-1 x2j x2j+1

Page 20: Diferenciación e Integración numérica Programación Numérica

Regla compuesta del trapecio

bfxfafh

dxxfn

jj

b

a

1

1

22

x0 = a xn = b

y= f(x)

x1 xj-1 xj xn–1

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:

Page 21: Diferenciación e Integración numérica Programación Numérica

Regla compuesta del punto medio

2/

022

n

jj

b

axfhdxxf

x0 = a xn+1 = b

y= f(x)

x0 xj-1 xj xnx1 xj+1

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:

Page 22: Diferenciación e Integración numérica Programación Numérica

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.

2

...22

1212

101

nnn

xfxfh

xfxfh

xfxfhI

Donde hi = ancho del segmento i.

Page 23: Diferenciación e Integración numérica Programación Numérica

Ejemplo

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 datos siguientes:

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;endsuma

ans = 60.3750

Page 24: Diferenciación e Integración numérica Programación Numérica

Algoritmos Regla del trapecioAlgoritmos 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/2end

Page 25: Diferenciación e Integración numérica Programación Numérica

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

Page 26: Diferenciación e Integración numérica Programación Numérica

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

Page 27: Diferenciación e Integración numérica Programación Numérica

Algoritmos Regla compuesta de SimpsonRegla 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 = sumend

Page 28: Diferenciación e Integración numérica Programación Numérica

Ejemplo TrapecioSea 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%

Page 29: Diferenciación e Integración numérica Programación Numérica

Ejemplo Simpson 1/3Sea 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%

Page 30: Diferenciación e Integración numérica Programación Numérica

Ejemplo Simpson 3/8Sea 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.432724f (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%

Page 31: Diferenciación e Integración numérica Programación Numérica

Ejemplo Simpson 1/3 y Simpson 3/8Sea 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.64053333f (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.23200Simpson 1/3: I1/3 = 0.32*(0.2 +4(1.29692)+ 1.74339 )/6 = 0.3803237Simpson 3/8I3/8 = 0.48 (1.74339 +3(3.18601 + 3.18193 )+ 2.232 )/8 = 1.264754I = 1.645077 error = 0.28%

Page 32: Diferenciación e Integración numérica Programación Numérica

x f(x)0.00 0.2000000.12 1.3097290.22 1.3052410.32 1.7433930.36 2.0749030.40 2.4560000.44 2.8429850.54 3.5072970.64 3.1819290.70 2.3630000.80 0.232000