28

DerivacionNumerica

Embed Size (px)

Citation preview

Page 1: DerivacionNumerica

UNIVERSIDAD DE LAS FUERZAS ARMADAS - ESPE

DEPARTAMENTO DE CIENCIAS EXACTAS

MÉTODOS NUMÉRICOS

DERIVACIÓN NUMÉRICA

RIOS HIDALGO, Simón Ernesto

Ing. José Luis Marcillo

DERIVACIÓN NUMÉRICA1. Escribir una fución MATLAB df(x) que admita como entradas un vector

de puntos x y los valores de una función f en los mismos y que calcule el valor dela derivada primera en los mismos utilizando la fórmula de diferencia adelantada.Para calcular el valor en el extremo superior debe usarse la fórmula de diferenciaretrasada.

1

Page 2: DerivacionNumerica

2. Aplicar la fórmula de dos puntos adelantada al cálculo de la derivadaprimera de f(x) = senx en x = 2.13432. Comprobar que al ir reduciendo h elerror se reduce de manera aproximada lineal con h.

Valor exacto

f(x) = senx

f′(x) = cosx

f′(x) = cos(2.13432)

f′(x) = −0.534168

Fórmula a usar f′(x) = f(x+h)−f(x)

h

• Con h=0.1

f′(x) =

f(x+ h)− f(x)

h

f′(x) =

f(2.13432 + 0.1)− f(2.13432)

0.1

f′(x) =

0.787827− 0.845378

0.1

f′(x) = −0.575512

Error

Error =−0.534168 + 0.575512

−0.534168· 100%

Error = 7.73989%

2

Page 3: DerivacionNumerica

• Con h=0.01

f′(x) =

f(x+ h)− f(x)

h

f′(x) =

f(2.13432 + 0.01)− f(2.13432)

0.01

f′(x) =

0.839994− 0.845378

0.01

f′(x) = −0.5384

Error

Error =−0.534168 + 0.5384

−0.534168· 100%

Error = 0.79226%

• Con h=0.001

f′(x) =

f(x+ h)− f(x)

h

f′(x) =

f(2.13432 + 0.001)− f(2.13432)

0.001

f′(x) =

0.844844− 0.845378

0.001

f′(x) = −0.534

Error

Error =−0.534168 + 0.534

−0.534168· 100%

Error = 0.031451%

3

Page 4: DerivacionNumerica

Conclusión

• Como se puede observar en los cálculos realizados anteriormente con lafórmula de dos puntos adelantada, podemos decir que al ir reduciendo hel error se reduce de manera aproximada lineal con h. Las diferencias deerror existentes entre los cálculos y MATLAB se debe a la cantidad decifras signi�cativas apreciadas.

3. Repetir el ejercicio anterior comparando la precisión de la fórmula de difer-encia adelantada con la retrasada. Aplicar también ambas fórmulas al cálculode la derivada de la función g(x) = 1/(1 + ex) en x=1/2.

PRIMERA PARTEFórmula a usar f

′(x) = f(x)−f(x−h)

h

• Con h=0.1

f′(x) =

f(x)− f(x− h)

h

f′(x) =

f(2.13432)− f(2.13432− 0.1)

0.1

f′(x) =

0.845378− 0.894483

0.1

f′(x) = −0.49105

Error

Error =−0.534168 + 0.49105

−0.534168· 100%

Error = 8.07199%

4

Page 5: DerivacionNumerica

• Con h=0.01

f′(x) =

f(x)− f(x− h)

h

f′(x) =

f(2.13432)− f(2.13432− 0.01)

0.01

f′(x) =

0.845378− 0.850677

0.01

f′(x) = −0.5299

Error

Error =−0.534168 + 0.5299

−0.534168· 100%

Error = 0.799%

5

Page 6: DerivacionNumerica

• Con h=0.001

f′(x) =

f(x)− f(x− h)

h

f′(x) =

f(2.13432)− f(2.13432− 0.001)

0.001

f′(x) =

0.845378− 0.845912

0.001

f′(x) = −0.534

Error

Error =−0.534168 + 0.534

−0.534168· 100%

Error = 0.031451%

SEGUNDA PARTEg(x) = 1

1+ex en x=1/2.Valor exacto

f(x) =1

1 + ex

f′(x) =

−1

4cosh2(x2

)f

′(x) = −0.235004

Aplicando la fórmula de diferencia adelantada

• Con h=0.001

f′(x) =

f(x+ h)− f(x)

h

f′(x) =

f(1/2 + 0.001)− f(1/2)

0.001

6

Page 7: DerivacionNumerica

f′(x) =

0.377306− 0.377541

0.001

f′(x) = −0.235

Error

Error =−0.235004 + 0.235

−0.235004· 100%

Error = 0.001702%

Aplicando la fórmula de diferencia retrasada

• Con h=0.001

f′(x) =

f(x)− f(x− h)

h

f′(x) =

f(1/2)− f(1/2− 0.001)

0.001

f′(x) =

0.377541− 0.377776

0.001

f′(x) = −0.235

Error

Error =−0.235004 + 0.235

−0.235004· 100%

Error = 0.001702%

7

Page 8: DerivacionNumerica

Conclusión

• Mientras menor sea el valor de h el error de cálculo tanto en la fórmulade diferencia adelantada como en la fórmula de diferencia retrasada va adisminuir considerablemente. Usando la fórmula de diferencia retrasadael error porcentual obtenido es menor.

4. Supongamos que se conoce el valor de la derivada mediante la fórmula dediferencia adelantada para tres valores de h diferentes. Es posible estimar elvalor del h óptimo? Es posible estimar el error que se comete en el cálculoen cada uno de los casos?. Aplicarlo al cálculo de la derivada de la funciónf(x) = senx en x=0.6 usando h=0.1, h=0.01 y h=0.0000000001.

Valor exacto

f(x) = senx

f′(x) = cosx

f′(x) = 0.825336

Fórmula a usar f′(x) = f(x+h)−f(x)

h

• Con h=0.1

f′(x) =

f(x+ h)− f(x)

h

f′(x) =

f(0.6 + 0.1)− f(0.6)

0.1

f′(x) =

0.644218− 0.564642

0.1

f′(x) = 0.79576

Error

Error =0.825336− 0.79576

0.825336· 100%

Error = 3.58351%

8

Page 9: DerivacionNumerica

• Con h=0.01

f′(x) =

f(x+ h)− f(x)

h

f′(x) =

f(0.6 + 0.01)− f(0.6)

0.01

f′(x) =

0.572867− 0.564642

0.01

f′(x) = 0.822546

Error

Error =0.825336− 0.822546

0.825336· 100%

Error = 0.338044%

• Con h=0.0000000001

f′(x) =

f(x+ h)− f(x)

h

f′(x) =

f(0.6 + 0.0000000001)− f(0.6)

0.0000000001

9

Page 10: DerivacionNumerica

f′(x) =

0.5646424− 0.564642

0.0000000001

f′(x) = 0.8253

Error

Error =0.825336− 0.8253

0.825336· 100%

Error = 0.004362%

Conslusión

• Si es posible estimar el valor óptimo de h, ya que mientras h es maspequeño el error obtenido es menor. Por lo tanto, mientras el valor de hsea menor, el error va a aumentar.

5. Calcular la derivada de la funciï¾÷n f(x) = tanx en x=3.14 usando h=0.1 yh=0.01. Comparar el resultado con el valor exacto. Es buena la aproximación?Por qué?

Valor exacto

f(x) = tanx

f′(x) =

1

cos2x

f′(x) = 1

Fórmula a usar f′(x) = f(x+h)−f(x−h)

2h

• Con h=0.1

f′(x) =

f(x+ h)− f(x− h)

2h

f′(x) =

f(3.14 + 0.1)− f(3.14− 0.1)

2(0.1)

10

Page 11: DerivacionNumerica

f′(x) =

0.098726 + 0.101944

0.2

f′(x) = 1.00335

Error

Error =1− 1.00335

1· 100%

Error = 0.335%

• Con h=0.01

f′(x) =

f(x+ h)− f(x− h)

2h

f′(x) =

f(3.14 + 0.01)− f(3.14− 0.01)

2(0.01)

f′(x) =

0.008408 + 0.011593

0.02

f′(x) = 1.00005

Error

Error =1− 1.00005

1· 100%

Error = 0.005%

11

Page 12: DerivacionNumerica

Conclusión

• La aproximación es buena debido a que estamos usando la fórmula cen-trada. También decimos que la aproximación es buena ya que estamosusando valores pequeños de h.

7. Construir una tabla de derivadas primeras de la función g(x) de�nida por lasiguiente tabla en los puntos xj con la mayor precisión posible mediante fórmulasde tres puntos.

x g(x)

1.0 1.0000001.2 0.9975021.4 0.9900251.8 0.9603982.0 0.940678

Fórmula a utilizar

f′(x) = −f(2)+4f(1)−3f(0)

h

Ejemplo de cálculos

g′(1) = −0.990025+4(0.997502)−3(1)

0.4 = −4.25x10−5

Tabla de derivadash x g'(x)0.4 1 −4.25x10−5

0.4 1.2 0.017940.4 1.4 -0.1729025

8. Usando la fórmula de diferencia centrada calcular la derivada primerade la función f(x) = arctanx en el punto x =

√2 (el valor correcto es 1/3).

Utilizar diferentes valores de h y estudiar los efectos de los errores de redondeoy de truncación.

Fórmula a usar f′(x) = f(x+h)−f(x−h)

2hValor exacto

12

Page 13: DerivacionNumerica

f′(x) = arctanx

f′(x) =

1

x2 + 1

f′(x) =

1

(√

2)2 + 1

f′(x) =

1

3

• Con h=0.1

f′(x) =

f(x+ h)− f(x− h)

2h

f′(x) =

f(√

2 + 0.1)− f(√

2− 0.1)

2(0.1)

f′(x) =

0.987139− 0.920348

0.2

f′(x) = 0.333955

Error

Error =13 − 0.333955

13

· 100%

Error = 0.1865%

• Con h=0.01

f′(x) =

f(x+ h)− f(x− h)

2h

f′(x) =

f(√

2 + 0.01)− f(√

2− 0.01)

2(0.01)

f′(x) =

0.958634− 0.951968

0.02

f′(x) = 0.3333

13

Page 14: DerivacionNumerica

Error

Error =13 − 0.3333

13

· 100%

Error = 0.01%

Conclusión

• En el subcampo matemático del análisis numérico, truncamiento es eltérmino usado para reducir el número de dígitos a la derecha del separadordecimal, descartando los menos signi�cativos, mientras que el redondeo esel proceso mediante el cual se eliminan cifras signi�cativas de un númeroa partir de su representación decimal, para obtener un valor aproximado.El error de truncamiento puede ser hasta el doble del error máximo quese puede tener usando redondeo.

9. Deducir la fórmula de cinco puntos que utilice valores de la función en lospuntos x− 2h, x− h, x+ h, x+ 3h y x+ 2h para calcular f

′(x).

f(x0 + h) ≈ f(x0) + f′(x0)h+ f(2)(x0)h

2

2! + f(3)(x0)h3

3! + f(4)(x0)h4

4!

f(x0 − h) ≈ f(x0)− f ′(x0)h+ f(2)(x0)h

2

2! + f(3)(x0)h3

3! + f(4)(x0)h4

4!

f(x0 + 2h) ≈ f(x0) + f′(x0)h+ f(2)(x0)(2h)

2

2! + f(3)(x0)(2h)3

3! + f(4)(x0)(2h)4

4!

f(x0 + 2h) ≈ f(x0) + f′(x0)h+ f(2)(x0)(2h)

2

2! + f(3)(x0)(2h)3

3! + f(4)(x0)(2h)4

4!Restando la ecuación (2) a (1)

f(x0 + h)− f(x0 − h) ≈ 2f′(x0)h+ 2 f

(3)(x0)h3

3!Restando la ecuación (4) a (3)

f(x0 + 2h)− f(x0 − 2h) ≈ 2f′(x0)2h+ 2 f

(3)(x0)(2h)3

3!Multiplicando 8(5)-(6)8f(x0 + h)− 8f(x0 − h)− f(x0 + 2h) + f(x0 − 2h) ≈ 12f

′(x0)h

Despejando f′(x0)

f′(x0) = 8f(x0+h)−8f(x0−h)−f(x0+2h)+f(x0−2h)

12h

14

Page 15: DerivacionNumerica

INTEGRACIÓN NUMÉRICA1. Construya programas en MATLAB para las reglas compuestas: �rectán-

gulo, trapecio y Simspon�.TRAPECIO COMPUESTO

SIMPSON COMPUESTO

15

Page 16: DerivacionNumerica

2. Aproxime cada una de las siguientes integrales, utilizando los programasdesarrollados.

a)´ 1−1

(1 + x2)−1dxTRAPECIO

SIMPSON

b)´ 20

2xcos(x)dxTRAPECIO

16

Page 17: DerivacionNumerica

SIMPSON

c)´ π0sin(2x)e−xdx

TRAPECIO

SIMPSON

3. Considere las siguientes funciones.a) f(x) = x3 para 0 ≤ x ≤ 1b) f(x) = sin(x) para 0 ≤ x ≤ π

4c) f(x) = e−x para 0 ≤ x ≤ 1Teniendo presente que:

• Longitud de una curva. La longitud de una curva y = f(x) de�nida sobreun intervalo [a, b] es

17

Page 18: DerivacionNumerica

longitud =

ˆ b

a

√1 + (f ′(x))2dx

• Área de una super�cie de revolución. El área de la super�cie del sólido derevolución que se obtiene al girar alrededor del eje OX la región limitadapor la curva y = f(x) y el intervalo[a, b], viene dada por:

area = 2π

ˆ b

a

f(x)√

1 + (f ′(x))2dx

Calcular la longitud de la curva y la super�cie de revolución de las curvasdadas, utilizando las reglas compuestas. Realice, además, un análisis del errorcometido por cada uno de los métodos. Mostrar las grá�cas.

Longitud√

1 + (f ′(x))2

Área 2πf(x)√

1 + (f ′(x))2

Longitud =

ˆ b

a

g(x)dx

Area =

ˆ b

a

h(x)dx

a) f(x) = x3 para 0 ≤ x ≤ 1

18

Page 19: DerivacionNumerica

f′(x) = 3x2

g(x) =√

1 + 9x4

h(x) = 2πsin(x) ∗√

1 + 9x4

• Longitud y área con Trapecios

LongitudIngrese la funcion g(x): 'sqrt(1+9.*x.^4)'Limites de IntegracionLimite inferior: 0Limite superior: 1Numero de divisiones: 10La longitud de curva es: 1.552609 y su error relativo es 0.306478ÁreaIngrese la funcion: '2*pi.*x.^3.*sqrt(1+9.*x.^4)'Limites de IntegracionLimite inferior: 0Limite superior: 1Numero de divisiones: 10El area de revolucion es: 3.642447 y su error relativo es 2.226272

19

Page 20: DerivacionNumerica

• Longitud y área con Simpson

LongitudIngrese la funcion f(x)= sqrt(1+9.*x.^4)Ingrese el limite superior de la integral: 1Ingrese el limite inferior de la integral: 0Ingrese el numero de intervalos: 10El valor aproximado de la longitud es: 1.547865560100135ÁreaIngrese la funcion f(x)= 2*pi.*x.^3.*sqrt(1+9.*x.^4)Ingrese el limite superior de la integral: 1Ingrese el limite inferior de la integral: 0Ingrese el numero de intervalos: 10El valor aproximado del area de revolucion es: 3.563159826957447b) f(x) = sin(x) para 0 ≤ x ≤ π

4

f′(x) = cos(x)

g(x) =√

1 + cos(x)2

h(x) = 2πsin(x) ∗√

1 + cos(x)2

• Longitud y área con Trapecios

LongitudIngrese la funcion g(x): 'sqrt(1+(cos(x)).^2)'

20

Page 21: DerivacionNumerica

Limites de IntegracionLimite inferior: 0Limite superior: pi/4Numero de divisiones: 10La longitud de la curva es 1.057886 y su error relativo es 0.019841ÁreaIngrese la funcion h(x): '2*pi.*sin(x).*(sqrt(1+(cos(x)).^2))'Limites de IntegracionLimite inferior: 0Limite superior: pi/4Numero de divisiones: 10El area de revolucion es: 2.419724 y su error relativo es 0.111638

• Longitud y área con Simpson

LongitudIngrese la funcion f(x)= sqrt(1+(cos(x)).^2)Ingrese el limite superior de la integral: pi/4Ingrese el limite inferior de la integral: 0Ingrese el numero de intervalos: 10El valor aproximado de la longitud es: 1.058095521173557ÁreaIngrese la funcion h(x) f(x)=2*pi.*sin(x).*(sqrt(1+(cos(x)).^2))Ingrese el limite superior de la integral: pi/4Ingrese el limite inferior de la integral: 0Ingrese el numero de intervalos: 10El valor aproximado del area de revolucion es: 2.422428408553643

21

Page 22: DerivacionNumerica

c) f(x) = e−x para 0 ≤ x ≤ 1

f′(x) = −e−x

g(x) =√

1 + (−e−x)2

h(x) = 2πsin(x) ∗√

1 + (−e−x)2

• Longitud y área con Trapecios

LongitudIngrese la funcion g(x): 'sqrt(1+(-exp(-x)).^2)'Limites de IntegracionLimite inferior: 0Limite superior: 1Numero de divisiones: 10La longitud de la curva es: 1.193185 y su error relativo es 0.040522ÁreaIngrese la funcion h(x): '2*pi*exp(-x).*sqrt(1+(-exp(-x)).^2)'Limites de IntegracionLimite inferior: 0Limite superior: 1Numero de divisiones: 10El area de revolucion es: 4.858023 y su error relativo es 0.181555

22

Page 23: DerivacionNumerica

• Longitud y área con Simpson

LongitudIngrese la funcion g(x)= sqrt(1+(-exp(-x)).^2)Ingrese el limite superior de la integral: 1Ingrese el limite inferior de la integral: 0Ingrese el numero de intervalos: 10El valor aproximado de la longitud es: 1.192701430270993ÁreaIngrese la funcion f(x)= 2*pi*exp(-x).*sqrt(1+(-exp(-x)).^2)Ingrese el limite superior de la integral: 1Ingrese el limite inferior de la integral: 0Ingrese el numero de intervalos: 10El valor aproximado del area de revolucion es: 4.8492200176575894. Determine las constantes w0, w1 y w2 de manera que:

ˆ 2

0

g(t)dt = w0g(0) + w1g(1) + w2g(2)

Sea exacta para las funciones g(t) = 1, g(t) = t,g(t) = t2

• g(t) = 1

Si g(0) = g(1) = g(2) = 1

ˆ 2

0

g(t)dt =

ˆ 2

0

1dt

ˆ 2

0

w0g(0) + w1g(1) + w2g(2)dt = t |20

w0 + w1 + w2 = 2

• g(t) = t

Si g(0) = 0, g(1) = 1, g(2) = 2

ˆ 2

0

g(t)dt =

ˆ 2

0

tdt

ˆ 2

0

w0g(0) + w1g(1) + w2g(2)dt =t2

2|20

w1 + 2w2 = 2

• g(t) = t2

23

Page 24: DerivacionNumerica

Si g(0) = 0, g(1) = 1, g(2) = 4

ˆ 2

0

g(t)dt =

ˆ 2

0

t2dt

ˆ 2

0

w0g(0) + w1g(1) + w2g(2)dt =t3

3|20

w1 + 4w2 =8

3

SOLUCIÓN

w0 =1

3

w1 =4

3

w2 =1

3

5. Use la relación f(x0 + ht) = g(t) y el cambio de variable x = x0 + htcon dx = hdt para trasladar la regla de Simpson desde [0, 2] hasta el intervalo[x0, x2].

´ 20g(t)dt

g(t) = f(x0 + ht)

dx = hdt

x = x0 + ht

Reemplazando

x(0) = x0 + 0

x(2) = x0 + 2h

Se obtiene

1h

´ x0+2h

x0xdx

6. Determine en cada uno de los siguientes casos, el número m y el tamañode los subintervalos h de manera que la regla del trapecio y la de Simpson(considerar cada regla por separado) con m subintervalos nos permita obtenerla integral dada con una precisión de 5× 10−9

a)´ π/6−π/6 cos(x)dx

24

Page 25: DerivacionNumerica

f(x) = cos(x)

f′(x) = −sin(x)

f′′(x) = −cos(x)

f′′′

(x) = sin(x)

f (4) = cos(x)

h = b−an = π/3

n

• Método del Trapecio

E =

∣∣∣∣b− a12h2f

′′(u)

∣∣∣∣E =

∣∣∣∣∣π/312

(π/3

n

)2

∗ −cos(u)

∣∣∣∣∣E =

∣∣∣∣ π3

324n2∗ −cos(u)

∣∣∣∣Con u = 0

E =π3

324n2

E < 5x10−9

π3

324n2< 5x10−9

n = 4375

h = 2.39x10−4

• Método de Simpson

E =

∣∣∣∣ h4180(b− a)f (4)(u)

∣∣∣∣E =

∣∣∣∣ (π/3)4

180n4(π/3)cos(u)

∣∣∣∣Con u = 0

E =(π/3)5

180n4

E < 5x10−9

(π/3)5

180n4< 5x10−9

n = 35

h = 0.0299

25

Page 26: DerivacionNumerica

b)´ 32

15−xdx

f(x) =1

5− x

f′(x) =

1

(x− 5)2

f′′(x) =

2

(5− x)3

f′′′

(x) =6

(x− 5)4

f (4) =24

(5− x)5

h = b−an = 1

n

• Método del Trapecio

E =

∣∣∣∣b− a12h2f

′′(u)

∣∣∣∣E =

∣∣∣∣∣ 1

12

(1

n

)2

∗ 2

(5− u)3

∣∣∣∣∣Con u = 2.5

E =4

375n2

E < 5x10−9

4

375n2< 5x10−9

n = 1461

h = 6.84x10−4

• Método de Simpson

E =

∣∣∣∣ h4180(b− a)f (4)(u)

∣∣∣∣E =

∣∣∣∣ 2

15n4(5− u)5

∣∣∣∣Con u = 2.5

26

Page 27: DerivacionNumerica

E =2

15n4(5− 2.5)5

E < 5x10−9

2

15n4(5− 2.5)5< 5x10−9

n = 23

h = 0.04348

c)´ 20xe−xdx

f(x) = xe−x

f′(x) = e−x(1− x)

f′′(x) = e−x(x− 2)

f′′′

(x) = e−x(3− x)

f (4) = e−x(x− 4)

h = b−an = 2

n

• Método del Trapecio

E =

∣∣∣∣b− a12h2f

′′(u)

∣∣∣∣E =

∣∣∣∣∣ 2

12

(2

n

)2

∗ e−u(u− 2)

∣∣∣∣∣E =

∣∣∣∣∣23(

1

n

)2

∗ e−u(u− 2)

∣∣∣∣∣Con u = 1

E =0.24525

n

E < 5x10−9

0.24525

n< 5x10−9

n = 7004

h = 2.86x10−4

• Método de Simpson

27

Page 28: DerivacionNumerica

E =

∣∣∣∣ h4180(b− a)f (4)(u)

∣∣∣∣E =

∣∣∣∣ 8

45n4e−u(u− 4)

∣∣∣∣Con u = 1

E =0.1962

n4

E < 5x10−9

0.1962

n4< 5x10−9

n = 80

h = 0.025

28