School Work y fortran">
Derivada Numerica en Fortran
Derivada Numerica en Fortran
Derivada Numerica en Fortran
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
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.
funcin
ser:
(fig.2.1)
(fig.2.2)
fig(2.3)
de
102 o 103
para conservar la
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
f 0' =
a 0f 0 +a1f 1 +a 2f 2
+E
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
'
0
3
1
f +2 f + f )1
(
2
2
=
0
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
f 0' =
a 0f 0 +a1f 1 +a 2f 2
+E
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
'
f0
3
1
f +2 f + f )1
(
2
2
=
0
V=
dx
=19248 t 2
dt
V ( t=5 )=1921200
V ( t=5 )=1008
m
s
Resultado analitico
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
Codificacion
PROGRAM DERIVADA_TAYLOR
REAL(4) X(10),Y(10),H
5
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
Fundamento teroico
Para la solucin de este problema usaremos la definicin de momento
angular
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:
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
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
END
Conclusion
Aplicando la derivada numrica es posible aproximar un valor de