Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Datos Informe Fortran
Datos Informe Fortran
1.Condiciones iniciales:
Análisis y Resultados:
Cuestionario:
2. implicit none
call projectile
subroutine projectile
implicit none
integer, parameter:: n=4 ! number of first-order equations
double precision ti, tf, dt, tmax
double precision xi(n), xf(n)
double precision v0, a0, energy0, energy
double precision, parameter :: rad = 3.1415926/180.0 ! radians
double precision, parameter :: g = 9.81 ! m/s**2
integer i
external d2x
! integration of ODEs
do while (ti <= tmax)
tf = ti + dt
energy = (xf(3)**2+xf(4)**2)/2+g*xf(2)
100 format(5x,'t',11x,'x',11x,'y',11x,'dx/dt',11x,'dy/dt',11x,'energía')
102 format(6(1pe12.3))
end subroutine projectile
implicit none
integer n
double precision t
double precision x(n), dx(n)
integer j
double precision h, t
double precision x(n), dx(n)
double precision k1(n),k2(n),k3(n),k4(n)
3.
El Sistema de Runge Kutta funciona de la forma anterior, pero para nuestro caso tenemos que
adaptarlo al uso de una derivada de Segundo orden, por lo que hacemos un cambio de variable de
las derivadas y aplicamos el método, luego volvemos a palicar el método para las variables
originales.
4. external fcn
h = tf-ti
t = ti
!* evaluate k1
call fcn(t, xi, dx, n)
do j=1,n
k1(j) = h*dx(j)
x(j) = xi(j) + k1(j)/2.0
end do
!* evaluate k2
call fcn(t+h/2.0, x, dx, n)
do j=1,n
k2(j) = h*dx(j)
x(j) = xi(j) + k2(j)/2.0
end do
!* evaluate k3
call fcn(t+h/2.0, x, dx, n)
do j=1,n
k3(j) = h*dx(j)
x(j) = xi(j) + k3(j)
end do
5.
Cuando hay resistencia del aire el movimiento ya no es parabólico sino tal como se muestra en la
figura . Ya que ahora deben usarse para describir su movimiento las ecuaciones de Lagrange para
fuerzas no conservativas.