School Work y fortran">
Nothing Special   »   [go: up one dir, main page]

Derivada Numerica en Fortran

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 10

I.

Introduccin
La diferenciacin numrica, se utiliza para evaluar derivadas en un
punto dado. Esta operacin es de importancia en la soluciones de
ecuaciones diferenciales ordinaria parciales.
En el presente trabajo se expondr el uso de la deriva numrica aplicada
a la resolucin de problemas fsicos mediante los mtodos de anlisis
numrico estudiado en el curso

II: Conceptos Previos


Anlisis numrico
El anlisis numrico o clculo numrico es la rama de las matemticas
encargada de disear algoritmos para, a travs de nmeros y reglas
matemticas simples(adicin, sustraccin, multiplicacin, divisin, etc.),
simular procesos matemticos ms complejos como clculo de las races
de una funcin, el valor de una integral definida, el valor de la derivada
en un punto dado, etc.
El anlisis numrico cobra una mayor importancia con la invencin del
ordenador, ya que este
es capaz de, mediante un lenguaje de
programacin, hacer operaciones matemticas complejas regidas por los
algoritmos que son diseados a partir del anlisis numrico.

Derivada Numrica
Es una parte del anlisis numrico enfocado al clculo del valor de la
derivada de una funcin en un punto dado. Para este anlisis en este
caso se estudiara mediante aproximacin por diferencias como punto de
partida para ser aplicado al desarrollo de Taylor.

Aproximacin por diferencias


Por definicin la derivada de una

funcin

ser:

La aproximacin numrica que se pede hacer para h>0 seran

Diferencias hacia adelante (fig.2.1)

Diferencias hacia atrs (fig.2.2)

Diferencias centrales (fig.2.3)

(fig.2.1)

(fig.2.2)

fig(2.3)

El valor del h debe ser del orden

de

102 o 103

para conservar la

estabilidad de la formula y disminuir el error por redondeo.


Desarrollo de Taylor
Para una derivada de orden P con el desarrollo de Taylor , el minimo de
numero de datos necesarios para obtener una aproxiamcion por
diferencias es P+1, asi una aproximacin por diferencia para la primera
derivada de una fucnion necesita almenos dos puntos.

f ( x0 )=
Con un

f 0p =

f ( x0 + h )f ( x 0 )
h
10-2<h<10-3

a0f 0 +a 1f 1+ +aif i
hp

Para la primera derivada tenemos:


P=1 ; l=3 ; x=0 ; =1 ; =2

f 0' =

a 0f 0 +a1f 1 +a 2f 2
+E
h

x 0=0 ; x 1=x 0+ h ; x2=x 0 +2 h

1
h
f 0' =f 0 ( a 0+ a1 +a2 ) + f 0' ( 0+a1 +2 a2 ) + f 0' ' (0+a1 +4 a2 )
h
2
a0 + a1+ a2=0
0+a 1+2 a 2=1
0+a 1+ 4 a 2=0
a0 =

3
1
; a1=2 ; a2=
2
2

La ecuacion quedaria como:

'
0

3
1
f +2 f + f )1
(
2
2
=
0

A continuacin se dara solucin a problemas fsicos aplicando el mtodo


previamente mostrado.

Problemas de aplicacin
1. Se conoce la posicion para un automovil con aceleracion variable, donde
la distancia x al origen despues de t segundos esta dado por la siguiente
ecuacion:
X=192t-16t3
Halle la velocidad luego de transcurridos 5s.
Emplearemos el metodo de aproximacion mediante la derivada de taylor; que
se enuncia como sigue:

f ( x0 )=
Con un

f 0p =

f ( x0 + h )f ( x 0 )
h
10-2<h<10-3

a0f 0 +a 1f 1+ +aif i
hp

Para la primera derivada tenemos:


P=1 ; l=3 ; x=0 ; =1 ; =2

f 0' =

a 0f 0 +a1f 1 +a 2f 2
+E
h

x 0=0 ; x 1=x 0+ h ; x2=x 0 +2 h

1
h
'
'
''
f 0 =f 0 ( a 0+ a1 +a2 ) + f 0 ( 0+a1 +2 a2 ) + f 0 (0+a1 +4 a2 )
h
2
a0 + a1+ a2=0
0+a 1+2 a 2=1
0+a 1+ 4 a 2=0
a0 =

3
1
; a1=2 ; a2=
2
2

La ecuacion quedaria como:

'

f0

3
1
f +2 f + f )1
(
2
2
=
0

Para nuestro problema primero hallaremos la velocidad teorica:

V=

dx
=19248 t 2
dt

V ( t=5 )=1921200
V ( t=5 )=1008

m
s

Resultado analitico

Determinaremos la velocidad mediante el metodo enunciado:


Tomamos un h=0.01 y punto a evaluar

x 0=5

f 0=f ( x 0 ) =f ( 5 )=1040
f 1 =f ( x 0 +h ) =f ( 5.01 )=1050.1
f 2=f ( x 0 +2 h )=f ( 5.02 )=1060.3
3
1
f + 2 f + f )1
(
2
2
V ( t=5 )=
+E
0

V ( t=5 )=

1 3
1

(1040 )+ 2 (1050.1 ) (1060.3 ) +0.012


0.01 2
2

Resultado mediante desarrollo de taylo:

V ( t=5 )=1008 .044

Solucion mediante programa fortran aplicando algoritmo de desarrollo


de taylor
Resultado

Codificacion

PROGRAM DERIVADA_TAYLOR
REAL(4) X(10),Y(10),H
5

WRITE(*,*)'DERIVADA POR DESARROLLO DE TAYLOR'


WRITE(*,*)'*********************************'
WRITE(*,*)''
WRITE(*,*)'INGRESO DE DATOS'
WRITE(*,*)''
WRITE(*,*)''
WRITE(*,*)'INGRESE PUNTO A EVALUAR XO Y H'
READ(*,*)X0,H
!EVALUACION DE FUNCION
X(1)=X0
X(2)=X0+H
X(3)=X0+2*H
X(4)=X0+3*H
Y(1)=F(X(1))
Y(2)=F(X(2))
Y(3)=F(X(3))
Y(4)=F(X(4))
!CALCULO POR FORMULA
D13=(1/H)*(-1.5*Y(1)+2*Y(2)-0.5*Y(3))

10

D23=(1/H**2)*(Y(1)-2*Y(2)+Y(3))
D34=(1/H**3)*(-Y(1)+3*Y(2)-3*y(3)+Y(4))
WRITE(*,*)'RESULTADOS DE DERIVACION NUMERICA'
WRITE(*,*)'*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*'
WRITE(*,*)''
WRITE(*,*)''
WRITE(*,*)'PRIMERA DERIVADA P=1,L=3'
WRITE(*,*)'========================'
WRITE(*,10)D13
WRITE(*,*)'SEGUNDA DERIVADA VELOCIDAD P=2,L=3'
WRITE(*,*)'=================================='
WRITE(*,*)''
WRITE(*,10)D23
WRITE(*,*)''
WRITE(*,*)'TERCERA DERIVADA ACELERACION P=3,L=4'
WRITE(*,*)'===================================='
WRITE(*,*)''
WRITE(*,10)D34
WRITE(*,*)''
WRITE(*,*)'REPETIR LA OPERACION (1,SI/2,NO)'
READ(*,*)R
IF(R.EQ.1)THEN
GOTO 5
ELSE
END IF
FORMAT(1X,F10.4)
END
FUNCTION F(X)
F=192*x-16*x**3
RETURN
END

2. Se tiene una esfera maciza y homognea de cierto material de


400g atada a una cuerda de 80cm que se hace girar desde el
reposo hasta alcanzar una rapidez tangencial de 2m/s cual fue el
torque aplicado sobre la piedra si demora 0.32s en alcanzar los
2m/s si la poscicion varia con el tiempo descrita por la siguiente
expresion:
2

r= 0.3838t +8.0168 t33.861

Fundamento teroico
Para la solucin de este problema usaremos la definicin de momento
angular

El momento angular de una partcula o masa puntual con respecto a un


punto O del espacio se define como el momento de su cantidad de
movimiento con respecto a ese punto. Normalmente se designa
mediante el smbolo L. Siendo rel vector que une el punto O con la
posicin de la masa puntual, ser

El vector es perpendicular al plano que contiene y , en la direccin indicada por la regla del
producto vectorialo regla de la mano derecha y su mdulo o intensidad es:

Relacin entre el momento angular y el momento dinmico (torque)


()

Solucion Analitica
Utilizaremos la expresin () donde observamos que la la cantidad

sol
m=0.4Kg
v=2m/s
r=-0.3838*t**2 + 8.0168*t - 33.861

L=rxmv
;como la posicin y la velocidad siempre son
perpendiculares sen(90)=1
dL/dt=(d/dt(-0.3838*t**2 + 8.0168*t - 33.861))*0.4*2)=torque

Solucion por compilador Force 2.0

PROGRAM DERIVADA_TAYLOY_P1L3_P2L3_P3L4
REAL(4) X(10),Y(10),H
WRITE(*,*)'********************************'
WRITE(*,*)'DERIVADA POR DESARROLLO DE TAYLOR'
WRITE(*,*)'********************************'
WRITE(*,*)'P=1,L=3 Y P=2,L=3'
WRITE(*,*)''
WRITE(*,*)'
INGRESO DE DATOS'
WRITE(*,*)'
*-*-*-*-*-*-*-*-'
WRITE(*,*)''
WRITE(*,*)'INGRESE PUNTO A EVALUAR XO Y H'
WRITE(*,*)'*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-'
READ(*,*)X0,H
!EVALUACION DE FUNCION
X(1)=X0
X(2)=X0+H
X(3)=X0+2*H
X(4)=X0+3*H
Y(1)=F(X(1))
Y(2)=F(X(2))
Y(3)=F(X(3))
Y(4)=F(X(4))
!CALCULO POR FORMULA
D13=(1/H)*(-1.5*Y(1)+2*Y(2)-0.5*Y(3))
WRITE(*,*)'PRIMERA DERIVADA P=1,L=3'
WRITE(*,10)D13

10

WRITE(*,*)'REPETIR LA OPERACION (1,SI/2,NO)'


READ(*,*)R
IF(R.EQ.1)THEN
GOTO 5
ELSE
END IF
FORMAT(1X,F10.4)
END
FUNCTION F(X)
f= -0.3838*x**2 + 8.0168*x - 33.861
RETURN

END

Conclusion
Aplicando la derivada numrica es posible aproximar un valor de

También podría gustarte