Vous êtes sur la page 1sur 12

Examen final de Laboratorio Fsica Terica Computacional I.

Alumno: Bryan Motta Zorrilla

Cdigo: 082924H

1. Usando la codificacin de Adams Bashforth Resolver la siguiente ecuaciones diferencial

'' 2 '2
y =2 x y 5 y
Para las condiciones:

x 0=0.0 y 0=1.2 y ' 0=0.4 x f =0.4 N=4

Resolucin:
Usando la codificacin en Fortran 90

Program Adams_Bashfort
!Declaracion de variables
Real(4) X(100),Y(100),Z(100),F(100),Dx,H
Integer N
!Salida por Archivo
Open(1,FILE='AdamsBashfort.TXT')
!Ingreso de datos
Write(*,*)'=============================================='
Write(*,*)'Programa para la resolucion de EDO de orden 2'
Write(*,*)' usando el metodo de Adams-Bashfort '
Write(*,*)'=============================================='
Write(*,*)'Ingrese las condiciones iniciales X0,Y0,Z0'
Read(*,*) X(1),Y(1),Z(1)
Write(*,*)'Ingrese el valor de la variacion de X'
Read(*,*) Dx
Write(*,*)'Ingrese el valor de los puntos a estudiar'
Read(*,*) N
Write(*,*)'==============================================='
!Calculos para N<=2 y N>2
!Calculo de H
H=Dx/N
Do I=1,N+1
IF (I.LE.2) Then
!Calculo de X(N),Y(N),F(N) usando Euler
X(I+1)=X(I)+Dx
F(I)=Fun(X(I),Y(I),Z(I))
Y(I+1)=Y(I)+Dx*(F(I))
Else
F(I)=Fun(X(I),Y(I),Z(I))
Z(I+1)=Z(N)+(H/24)*(55*F(N)-59*F(N-1)+37*F(N-2)-9*F(N-3))
Y(N+1)=Y(N)+(H/24)*(55*Z(N)-59*Z(N-1)+37*Z(N-2)-9*Z(N-3))
X(I+1)=X(I)+H
End If
End Do
!soluciones en Tabla
Write(*,*)'============================================='
Write(*,*)'Las soluciones de la Edo Son:'
Write(*,*)'I X(I) Y(I) F(I) '
Write(*,*)'---------------------------------------------'
Do I=1,N+1
Write(*,100)I-1,X(I),Y(I),F(I)
Write(1,100)I-1,X(I),Y(I),F(I)
End Do
!Formatos de salida
100 Format(1X,I3,3X,3(1X,F8.4))
Close(1)
End Program

!Funcion de la Edo
Function Fun(A,B,C)
Fun=2*A*(B**2)-5*(C**2)
Return
End Function

Donde la solucin nos saldr en Pantalla y en un Archivo TXT llamado AdamsBashfort.TXT


El archivo TXT lo pasamos a una tabla de Excel y tenemos

N X(N) Y(N) F(N)

0 0 1.2 -0.8

1 0.4 0.88 0.6195

2 0.8 1.1278 2.0351

3 0.9 0 -0.7023

4 1 -0.1009 -4.125

Adems Tendr una grfica tambin generada por Excel

Object 15
2. Usando la codificacin de Adams Moulton Resolver la siguiente ecuaciones diferencial

y ' =4 xcos( 2 y )

Para las condiciones:


x 0=0.0 y 0=1. 5 x f =0.4 N=4 Tol=0.01

Resolucin:
Usando la codificacin en Fortran 90

Program Adams_moulton
!declaracion de variables
Real(4) Xf,Tol,X(100),Y(100),F(100),Dx
Real(4) aY,vY
Integer N
!Salida por Archivo
Open(1,FILE='AdamsMoulton.TXT')
!ingreso de datos
Write(*,*)'=============================================='
Write(*,*)'Programa para la resolucion de EDO de orden 1'
Write(*,*)' usando el metodo de Adams-Moulton '
Write(*,*)'=============================================='
Write(*,*)'Ingrese las condiciones iniciales'
Read(*,*) X(1),Y(1)
Write(*,*)'Ingrese el valor final de X y el numero N'
Read(*,*) Xf,N
Write(*,*)'Ingrese el valor de la tolerancia'
Read(*,*) Tol
!calculos para N<=2 y N>2
!calculo de deltaX
Dx=(Xf-X(1))/N
Do I=1,N+1
IF (I.LE.2) Then
!calculo de X(N),Y(N),F(N) usando Euler
X(I+1)=X(I)+Dx
F(I)=Fun(X(I),Y(I))
Y(I+1)=Y(I)+Dx*(F(I))
Else
X(I+1)=X(I)+Dx
F(I)=Fun(X(I),Y(I))
aY=Y(I)
!Calulo del Fn en funcion al <yn>
10 F(I+1)=Fun(X(I+1),aY)
Y(I+1)=Y(I)+0.0416*Dx*((9*F(I+1))+(19*F(I))-(5*F(I-1))+F(I-2))
!calculo de la Convergencia
vY=ABS(Y(I)-aY)
!ciclo If
If (vY.GT.TOL) Then
aY=Y(I)
GoTo 10
Else
End If
End If
End Do
!soluciones en Tabla
Write(*,*)'============================================='
Write(*,*)'Las soluciones de la Edo Son:'
Write(*,*)'I X(I) Y(I) F(I) '
Write(*,*)'---------------------------------------------'
Do I=1,N+1
Write(*,100)I-1,X(I),Y(I),F(I)
Write(1,100)I-1,X(I),Y(I),F(I)
End Do
!formatos de salida
100 Format(1X,I3,3X,3(1X,F8.4))
Close(1)
End Program

!Funcion de la Edo
Function Fun(A,B)
Real(4) A,B
Fun=4*A+Cos(2*B)
End Function

Donde la solucin nos saldr en Pantalla y en un Archivo TXT llamado AdamsMoulton.TXT

El archivo TXT lo pasamos a una tabla de Excel y tenemos

N X(N) Y(N) F(N)

0 0 1.5 -0.99
1 0.1 1.401 -0.5429

2 0.2 1.3467 -0.1012

3 0.3 1.3571 0.29

4 0.4 1.4057 0.654

Adems Tendr una grfica tambin generada por Excel

Problema 2 : Metodo de Adams-Moulton


1.55

1.5

1.45
Valores Y(N)

1.4

1.35

1.3

1.25
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45

Valores X(N)
3. Usando la codificacin de Stormer-Verlet Resolver la siguiente ecuaciones diferencial

y '' =5sin ( xy ) 3 y ' 2


Para las condiciones:
x 0=0.0 y 0=1. 2 x 1=0.1 y 1=1.21 x f =0. 4
Tol=0.01

Donde N=4

Resolucin:
Usando la codificacin en Fortran 90

Program Stormer_verlet
Real(4) Y(100),X(100),F(100),Tol
Integer N
!Salida por Archivo
Open(1,FILE='StormerVerlet.TXT')

5 Write(*,*)'=============================================='
Write(*,*)'Programa para la resolucion de EDO de orden 2 '
Write(*,*)' usando el metodo de stormer-verlet '
Write(*,*)'=============================================='
Write(*,*)'Ingrese las condiciones iniciales'
Read(*,*) X(1),Y(1),Y(2)
Write(*,*)'Ingrese el punto final del dominio'
Read(*,*) Xf
Write(*,*)'Ingrese los puntos a analizar y la tolerancia'
Read(*,*) N,Tol
Write(*,*)'=============================================='
!calculo de datos
H=(XF-X(1))/N
X(2)=X(1)+H
Do I=2,N
Write(*,*)'Para el Punto N:', I
IN=0 !Iteracion de cada valor para N
A=Y(I)
X(I+1)=X(I)+H
10 IN=IN+1
aY=(A-Y(I-1))/(2*H)
F(I)=Fun(X(I),Y(I),aY)
Y(I+1)=2*Y(I)-Y(I-1)+(F(I)*(H**2))
Ea=ABS(A-Y(I+1))
Write(*,100)IN,X(I+1),Y(I+1),Ea
!Convergencia
IF(Ea.GT.TOL)Then
A=(Y(I+1)+A)/2
GoTo 10
Else
End If
Write(*,*)'El valor final de N:,',I,' = ',Y(I+1)
End Do
!soluciones en Tabla
Write(*,*)'============================================='
Write(*,*)'Las soluciones de la Edo Son:'
Write(*,*)' I X(I) Y(I) F(N) '
Write(*,*)'---------------------------------------------'
Do I=1,N+1
Write(*,100) I-1,X(I),Y(I),F(I)
Write(1,100) I-1,X(I),Y(I),F(I)
End Do
100 Format(1X,I3,3X,3(1X,F8.4))
Close(1)
End

Function Fun(A,B,C)
Fun=5*Sin(A*B)-3*(C**2)
Return
End

Donde la solucin nos saldr en Pantalla y en un Archivo TXT llamado AdamsMoulton.TXT


El archivo TXT lo pasamos a una tabla de Excel y tenemos

N X(N) Y(N) F(N)

0 0 1.2 0

1 0.1 1.21 0.5793

2 0.2 1.2258 1.1144

3 0.3 1.2527 1.5665

4 0.4 1.2953 0

Adems Tendr una grfica tambin generada por Excel

Problema 3 : Metodo de Stormer - Verlet


1.32

1.3

1.28

1.26

1.24
Y(N)

1.22

1.2

1.18

1.16

1.14
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45
X(N)
4. Usando la codificacin de Numerov Resolver las siguientes ecuaciones diferenciales

y '' =Y ( 64 +5 t 2 ) +10 t 3
Para las condiciones:
x 0=0.0 y 0=1.5 x 1=0.1 y 1=1.9 x f =0.5

Donde N=5

Resolucin:
Usando la codificacin en Fortran 90

Program Numerov
Real(4) Y(100),X(100)
!Salida de datos por archivo
Open(1,FILE='Numerov.txt')
Write(*,*)'================================================'
Write(*,*)'Programa de solucion de ecuaciones diferenciales'
Write(*,*)' Usando el metodo de Numerov '
Write(*,*)'================================================'
Write(*,100)
Read(*,*)X(1)
Write(*,110)
Read(*,*)Y(1)
Write(*,101)
Read(*,*)X(2)
Write(*,111)
Read(*,*)Y(2)
Write(*,102)
Read(*,*)N
Write(*,*)'============================================='
!procesamiento de datos
H=X(2)-X(1)
Do I=2,N+1
X(I+1)=X(I)+H
A=1+G(X(I+1))*(0.083333)*H**2
B=1-G(X(I))*(0.4166667)*H**2
C=1+G(X(I-1))*(0.0833333)*H**2
D=(S(X(I+1))+10*S(X(I))+S(X(I-1)))*(0.0833333)*H**2
Y(I+1)=(2*Y(I)*B-Y(I-1)*C+D)/A
End Do
!Formats
100 Format(1X,'Ingrese el primer valor de X : '$)
110 Format(1X,'Ingrese el primer valor de Y : '$)
101 Format(1X,'Ingrese el segundo valor de X : '$)
111 Format(1X,'Ingrese el segundo valor de Y : '$)
102 Format(1X,'Ingrese el numero de N (Max 100):'$)
103 Format(1X,I3,3(2X,F8.4))
Write(*,*)'================================================='
Write(*,*)'Las soluciones de la Edo Son:'
Write(*,*)'N X(N) Y(N) '
Write(*,*)'-------------------------------------------------'
Do I=1,N+1
Write(*,103)I-1,X(I),Y(I)
Write(1,103)I-1,X(I),Y(I)
End Do
Close(1)
End

Function G(T)
G=64+5*(T**2)
Return
End

Function S(T)
S=10*(T**3)
Return
End

Donde la solucin nos saldr en Pantalla y en un Archivo TXT llamado Numerov.TXT


El archivo TXT lo pasamos a una tabla de Excel y tenemos

N X(N) Y(N)
0 0 1.5
1 0.1 1.9
2 0.2 1.1448
3 0.3 -0.3069
4 0.4 -1.5675
5 0.5 -1.8576

Adems Tendr una grfica tambin generada por Excel

Problema 4 : Metodo de Numerov


2.5

1.5

0.5
Y(N)

0
0 0.1 0.2 0.3 0.4 0.5 0.6
-0.5

-1

-1.5

-2

-2.5

X(N)

Vous aimerez peut-être aussi