Anda di halaman 1dari 9

Capítulo VI

6. Aproximación Numérica de la Derivada

La diferenciación numérica, se utiliza para evaluar las derivadas por medio de valores dados en los puntos de una retícula. En el trabajo científico son importantes ya que facilitan la solución numérica de ecuaciones diferenciales ordinarias y parciales; por ello, este capítulo trata de las técnicas para calcular derivadas empleando la aproximación por diferencias y el desarrollo de Taylor.

6.1 Aproximación por diferencias

A fin de lograr la diferenciación de los polinomios de interpolación NGF, NGB y ST, es necesario considerar inicialmente la derivada de los coeficientes binomiales, definidos como:

Con:

u

t

=

u(u

1)(u

2)

 

(u

t

+

1)

 

t!

 
 

u =

x

x

k

 

x

(6.1)

Las primeras dos derivadas de la ecuación (6.1), respecto a u son:

d

2

du

2

u

t

 =

d

du

u

t

 


0

u

t

t

1

t

1

∑∑

i

=

0

j

j

=

0

i

u

t

= 

t

1

i

=

0

para : t

1

u

=

1

i

1

(u

i)(u

j)

para : t

2

(6.2)

(6.3)

En lo que sigue aplicaremos las ecuaciones (6.2) y (6.3) a los polinomios interpolantes NGF, NGB y ST a fin de reproducir las fórmulas de recursión para la primera y segunda derivada. La aplicación de las fórmulas de diferenciación no solo es aplicable al caso de valores de función conocidos por evaluación, sino al caso de valores tabulados.

Formula de Diferenciación DNGF y DDNGF

Empleando la ecuación (6.2) para la primera derivada del polinomio interpolante NGF, es posible obtener la formula DNGF, la cual en su forma general permite calcular la derivada sobre puntos de función previamente tabulados. Esto es útil si se desconoce la función problema, y se logra evaluando puntos a la derecha de algún x k , donde la primera derivada evaluada en x (punto arbitrario perteneciente al dominio de valores igualmente espaciados) se desconoce, así:

F'

m

(x) =

1

x

m

=

1

t

t

f

k

u

t

t

1

i

=

0

1

u

i

+

O[(

x)

m

]

(6.4)

184

Dónde:

O[(x) m ], son los términos de orden superior del desarrollo en serie que pueden ser despreciados.

Desarrollando la ecuación (6.4) para m = 2 y k = 0

F'

2

(x) =

1

x

[(f

1

f

0

)

+

(f

2

2f

1

+

f

0

)

(u

2

u) 1

1

2

u

u

1

+

]

Si se conoce la función problema, es posible evaluar puntos equidistantes del dominio los cuales sirven para aplicar la ecuación (6.4), pero en este caso se elige x =

x k por lo que

u = 0 resultando una ecuación simplificada, es decir:

F'

m

(x

k

) =

1

x

[

f

k

2

f

k

2

+

3

f

k

3

4

f

k

4

+

]

Lo cual nos lleva a la siguiente formula recursiva:

F'

m

(x

k

) =

1

x

m

=

1

t

(

1)

t

1

t

f

k

t

+

O[(

x)

m

]

(6.5)

La ecuación de diferenciación DDNGF se obtiene empleando la ecuación (6.3) para la segunda derivada del polinomio NGF, su utilidad es la misma que la formula (6.4); sin embargo, permite evaluar la segunda derivada sobre puntos de función previamente tabulados.

F''

m

(x) =

1

(

x)

2

m

=

2

t

t

f

k

u

t

t

1

t

1

∑∑

i

=

0

j

j

=

0

i

1

(u

i)(u

j)

+

O[( x)

m

1

]

(6.6)

Desarrollando la ecuación (6.6) para m = 2 y k = 0

F''

2

(x) =

1

(

x

)

2

[(f

2

2f

1

+

f

0

)]

Nuevamente si se conoce la función problema, es posible evaluar puntos equidistantes del dominio y aplicar la ecuación (6.6), pero en este caso se elige x = x k por lo que u = 0 resultando:

F''

m

(x

k

) =

F''

m

(x

k

) =

1

(

x)

2

2

[

(

x)

2

2

f

k − ∆

3

f

k

+

m

t

= 2

(

1)

t

t

f

k

t

11

12

t

1

i

= 1

4

f

k

1 O[( x)
i

+

]

m

1

]

(6.7)

Formula de Diferenciación DNGB y DDNGB

Empleando nuevamente la ecuación (6.2), pero esta vez para la primera derivada del polinomio interpolante NGB, es posible obtener la formula DNGB, que al igual que en el caso anterior permite calcular la derivada sobre puntos de función previamente tabulados.

185

Dónde:

F'

m

(x) =

1

x

m

=

1

t

t

f

k

u

+

t

t

1

t

1

i

=

0

1

u

+

i

+

O[(

x)

m

]

(6.8)

O[(x) m ], son los términos de orden superior del desarrollo en serie que pueden ser despreciados.

Desarrollando la ecuación (6.8) para m = 2 y k = 0

F'

2

(x) =

1

x

[(f

0

f

1

)

+

(f

0

2f

1

+

f

2

)

(u

2

+

u) 1

1

2

u

u

+

1

+

]

Si se elige x = x k entonces u = 0, resultando el siguiente desarrollo en serie:

F'

m

(x

k

) =

1

x

[

f

k

+

2

f

k

2

+

3

f

k

3

+

4

f

k

4

+

]

Lo cual nos lleva a la siguiente formula recursiva:

F'

m

(x

k

) =

) =

1

x

t

m f

k

t

= 1

t

+

O[(

x)

m ]

(6.9)

La fórmula de diferenciación DDNGB se obtiene empleando la ecuación (3) para la segunda derivada del polinomio NGB ó bien derivando la ecuación (8) respecto a u para x como punto arbitrario en el dominio conocido con inicio en x k .

F''

m

(x) =

1

(

x)

2

m

=

2

t

t

f

k

u

+

t

t

1

t

1

t

1

∑∑

i

=

0

j

j

=

0

i

1

(u

+

i)(u

+

j)

+

O[( x)

m

1

Desarrollando la ecuación (6.10) para m = 2 y k = 0

F''

2

(x) =

1

(

x

)

2

[(f

0

2f

1

+

f

2

)]

Nuevamente, si se elige x = x k tenemos:

F''

m

(x

k

) =

1

(

x)

2

[

2

f

k

La fórmula recursiva resultante es:

F''

m

(x

k

) =

2

(

x)

2

+ ∇

3 f

k +

11

]
12

4

f

k

+

m

=

t

2

t

f

k

t

t

1

i

=

1

1

i

+

O[( x)

m

1

]

Solucionando la ecuación (6.9) para m = 2 y x = x k

F'

2

(x

k

) =

1

x

[

f

k

+

2

f

k

2

] =

1

[

3

x

2

f

k

2f

k

1

+

1 f

2

k

2

]

]

(6.10)

(6.11)

186

Formula de Diferenciación DST y DDST

Estas fórmulas de derivación parten de la ecuación para el polinomio interpolante de Stirling con diferencias centrales; así, usando la ecuación (5.21) en conjunto con la fórmula del promedio central para diferencias de orden impar y para el caso de evaluar x como punto del dominio conocido, tenemos:

F'

2n

(x) =

1

x

n

=

1

t

u

 

t -1

+

2t -1

[(

 

µδ

2t

1

f

k +

u

2t

δ

δ

2t

f

k )

2t

1

i

=

1

1

1

+

u

t

+

i

2t

δ

2t

f

k

]

+

O[( x)

2n

]

(6.12)

Desarrollando la ecuación (6.12) para n = 1 y k = 0

F'

2(1)

(x) =

1

[

1

x

2

(f

1

f

1

)

+

u(f

1

2f

0

+

f

1

)]

Si desarrollamos (6.12) para x = x k , con x k como punto de inicio, se obtiene:

F'

2n

(x

k

) =

1

[

x

µδ

f

k

+

1

µδ

6

3

f

k

+

1

30

µδ

5

f

k

La fórmula recursiva resultante es:

F'

2n

(x

k

) =

1

x

n

=

1

t

µδ

2t

1

f

k

(

1)

t

1

[(t

1)!]

2

(2t

1)!

1

µδ

140

7

k +

+

O[( x)

2n

]

]

(6.13)

La fórmula para diferenciación de segundo orden se obtiene usando la ecuación (6.13) sobre la ecuación de interpolación ST. En este caso tomando x como punto del dominio en evaluación, tenemos:

F''

2n

(x) =

δ

2

f

k

1

(

x)

2

x

+

n

=

1

t

u

+

t -1

[(

µδ

2t

1

f

+

u

δ

2t

f

)

2t -1

2t

1 2t

1

 

k

2t

 

k

∑∑

 

1

+

(u

t

+

   

t

+

   

 

i

=

1

j

=

1

 

i)(u

j)

 
 

j

i

δ

2t

f

k

t

2t

1

i

=

1

1

u

t

+

i

]

+

O[( x)

2n

1

]

(6.14)

Desarrollando la ecuación (6.14) para n = 1 y k = 0

F''

2

(1)

(x) =

1

1

+

(

x)

2

x

[(f

1

2f

0

+

f

1

)]

Si elegimos a x k como punto de inicio y evaluación, la ecuación (6.14) se transforma en:

F''

2n

(x

k

) =

1

(

x)

2 [

δ

2 f

k

1

12

δ

4

f

k

+

1

δ

90

Luego la formula recursiva es:

F''

2n

=

1

(

x)

2

n

=

1

t

δ

2t

f

k

(

1)

t

1

[(t

1)!]

2

t

(2t

1)!

6

f

k

1

δ

560

+

O[( x)

2n

8

f

k

+

]

]

(6.15)

187

Ejemplo a:

Para un móvil

que se

desplaza con MRUA, se sabe que ecuación de

movimiento está dada por:

x = 5.0t + 5.0t

2

Se desea encontrar la velocidad y la aceleración para t = 7.5 segundos. Se evalúa la función dada para valores de t delante de t = 7.5 para un intervalo de avance definido en este caso 0.5 unidades temporales, lo que resulta en la siguiente tabla:

k

x

k

Tiempo (s)

Posición (m)

f

k

0

x

0

7.5

318.75

f

0

1

x

1

8.0

360.00

f

1

2

x

2

8.5

403.75

f

2

 

x = 0.5,

k = 0,

m = 2 y x 0 = 7.5

 

Ahora considerando que:

Luego aplicando la ecuación (6.5) y reemplazando valores se tiene:

F' (7.5)

2

F' (7.5)

2

=

1

0.5

[

f

0

f

2

1

2

[

[

0.5

2

2

f

0

]

+

2

2f

1

3

2

f

0

]

1

1

= −

0.5

1

= (403.75)

+

2(360)

3

(318.75)]

2

= 80

= 80

m

s

Para la segunda derivada empleamos la ecuación (6.7) junto con los parámetros ya considerados, así:

F'' (7.5) =

2

=

F'' (7.5)

2

=

=

2

2

f

0

(0.5)

2

2

1

0.25

[f

2

2f

1

1

[403.75

m

s

2

0.25

10

+

f

0

]

2(360)

+

318.75]

Como se puede observar los resultados computacionales coinciden perfectamente con los valores calculados analíticamente esto debido a que se empleó un intervalo de avance pequeño y a que se evaluó la función hasta dos cifras decimales.

Ejemplo b:

Se conocen los valores de tiempo y posición para un móvil que se desplaza con MRUA, en base a estos se desea conocer la velocidad para t = 7.7 seg.

188

Se observa que el tiempo en el cual se desea conocer la velocidad se ubica entre los valores del dominio conocido, es decir: 7.5 < 7.7 < 8.5 En este caso aplicaremos la ecuación (6.4), para lo cual es necesario calcular u, dado que x x 0 , y siendo que seguimos tomando puntos a la derecha de x 0 aplicamos:

Entonces considerando:

u =

x

x

0

x

x =0.5, m = 2, x = 7.7, x 0 = 7.5, k = 0

Se tiene que:

u

=

7.7

7.5

0.5

= 0.4

Con estos datos la ecuación (6.4) se escribirá como:

F'

2

(7.7) =

(7.7) =

1

0.5

2

=

1

t

0.4

t

f

t

0

t

1

i

=

0

1

0.4

i

Desarrollando la sumatoria:

1

0.5

0.4

1

 

0.4

2

 

F' (7.7) =

2

f

0

1

+ ∆ f

2

0

0.4

+

f

0

)

Desarrollando las diferencias hacia adelante:

F' (7.7) =

2

1

0.5

(f

1

f

0

0.4

1

 

)

1

0.4

+

(f

2

2f

1

1

1

+

0.4

0.4

1

0.4  

2

 

1

1

+

0.4

0.4

1

Solucionando los coeficientes binomiales y reemplazando valores:

F' (7.7) =

2

1

0.5

(360

Finalmente:

Ejemplo c:

318.75)(0.4)

1

0.4

+

(403.75

F' (7.7)

2

=

82.0002

720

m

s

+

318.75)( 0.12)

1

1

+

0.4

0.4

1

    

Solucionar la ecuación (6.12) para la tabla de valores de tiempo y posición de un móvil con MRUA.

k

x

k

Tiempo (s)

Posición (m)

f

k

-1

x

-1

7.5

318.75

f

-1

0

x

0

8.0

360.00

f

0

1

x

1

8.5

403.75

f

1

Calcular la velocidad para t = 8.0 seg.

189

En este caso x = x 0 ; luego, considerando los siguientes valores iniciales: x = 0.5, k = 0, x 0 = 8.0 y n = 1, se tiene que:

F

'

2

1

(8.0)

=

=

0.5

1

0.5

1

t =

1

µδ

2

t

1

f

0

µδ

f

0

[1!]

2

1!

(

1)

t

1 [(

t

1)!]

2

(2

t

1)!

=

µδ

f

0

0.5

Aplicando el promedio central:

Reemplazando:

F

'

2

(8.0) =

µδ

f

0

=

1

2

[f

1

0.5 *[403.75

f

1

]

318.75]

0.5

=

85

m

s

Como se puede observar en este caso la diferencia con el valor analítico es considerable esto se debe a que la diferencia central actúa sobre dos puntos equidistantes ver figura (6.1); por lo cual, es necesario disminuir el intervalo de avance para incrementar la precisión.

el intervalo de avance para incrementar la precisión. Figura (6.1). Explicación geométrica de las aproximaciones

Figura (6.1). Explicación geométrica de las aproximaciones por diferencias para f’(x 0 ). Comparación de los tres tipos de aproximación para la primera derivada

El valor de h debe ser del orden de 10 -2 o 10 -3 para conservar la estabilidad de la formula y disminuir el error por redondeo.

Los resultados computacionales para los datos de la tabla usada en los ejemplos a, b

y c, generados con la función

y = 5.0t + 5.0t

2 son los siguientes:

DIFERENCIACION DST,DDST,DNGB,DDNGB,DNGF Y DDNGF PARA N=1 Y M=2

INGRESE PUNTO A EVALUAR XP Y ANCHO DE AVANCE H 7.5 0.5

190

RESULTADOS

PUNTO A EVALUAR:

7.50

DELTA DE X:

0.5

PRIMERA DERIVADA DST

80.00000

SEGUNDA DERIVADA DDST

10.00000

PRIMERA DERIVADA DNGF

80.00000

SEGUNDA DERIVADA DDNGF

10.00000

PRIMERA DERIVADA DNGB

80.00000

SEGUNDA DERIVADA DDNGB

10.00000

DIFERENCIACION DST,DDST,DNGB,DDNGB,DNGF Y DDNGF PARA N=1 Y M=2

INGRESE PUNTO A EVALUAR XP Y ANCHO DE AVANCE H 8.0 0.5

RESULTADOS

PUNTO A EVALUAR:

8.0

DELTA DE X:

0.5

PRIMERA DERIVADA DST

85.00000

SEGUNDA DERIVADA DDST

10.00000

PRIMERA DERIVADA DNGF

85.00000

SEGUNDA DERIVADA DDNGF

10.00000

PRIMERA DERIVADA DNGB

85.00000

SEGUNDA DERIVADA DDNGB

10.00000

191

Codificación:

La

continuación:

codificación

que

genera

los

resultados

mostrados

se

presenta

a

PROGRAM APROXIMACION_DERIVADA_ST_NGF_NGB

REAL(4) XP,H

WRITE(*,*)'

DIFERENCIACION DST,DDST,DNGB,DDNGB,DNGF Y DDNGF'

WRITE(*,*)'

PARA N=1 Y M=2'

WRITE(*,*)'' WRITE(*,*)'INGRESE PUNTO A EVALUAR XP Y ANCHO DE AVANCE H' READ(*,*)XP,H !DNGF Y DDNGF

DNGF=(1.0/H)*(-0.5*F(XP+2.0*H)+2.0*F(XP+H)-1.5*F(XP))

DDNGF=(1.0/(H**2))*(F(XP+2.0*H)-2.0*F(XP+H)+F(XP))

!DNGB Y DDNGB

DNGB=(1.0/H)*(1.5*F(XP)-2.0*F(XP-H)+0.5*F(XP-2.0*H))

DDNGB=(1.0/(H**2))*(F(XP)-2.0*F(XP-H)+F(XP-2.0*H))

!DST Y DDST

DST=(1.0/H)*(0.5*(F(XP+H)-F(XP-H)))

DDST=(1.0/(H**2))*(F(XP+H)-2.0*F(XP)+F(XP-H))

WRITE(*,*)'RESULTADOS' WRITE(*,*)'PUNTO A EVALUAR : ', XP WRITE(*,*)'DELTA DE X: ',H WRITE(*,*)'PRIMERA DERIVADA DST'

WRITE(*,10)DST

WRITE(*,*)'SEGUNDA DERIVADA DDST'

WRITE(*,10)DDST

WRITE(*,*)'PRIMERA DERIVADA DNGF'

WRITE(*,10)DNGF

WRITE(*,*)'SEGUNDA DERIVADA DDNGF'

WRITE(*,10)DDNGF

WRITE(*,*)' PRIMERA DERIVADA DNGB'

WRITE(*,10)DNGB

WRITE(*,*)'SEGUNDA DERIVADA DDNGB'

WRITE(*,10)DDNGB

10 FORMAT(1X,F9.5) END

FUNCTION F(X)

F=5*x+5*X**2

RETURN

END

6.2

Desarrollo de Taylor

Para una derivada de orden p con el desarrollo de Taylor, el mínimo número de datos necesario para obtener una aproximación por diferencias es p+1, así una aproximación por diferencias para la primera derivada de una función necesita al menos dos puntos.

192