SlideShare una empresa de Scribd logo
1 de 48
” Año de la Promoción de la Industria Responsable y Compromiso
Climático
UNIVERSIDAD NACIONAL
DEL CALLAO
FACULTAD DE CIENCIAS
NATURALES Y MATEMÁTICA
FÍSICA TEÓRICA COMPUTACIONAL I
TRABAJO DE EXPOSICIÓN
“VIBRACIONES MECÁNICAS-APLICACIÓN
INSTRUMENTO SÍSMICO”
ALUMNO:
MARCO ANTONIO ALPACA CHAMBA
ESCUELA PROFESIONAL DE:
FÍSICA
CON PROBLEMAS ADICIONALES EN FORTRAN 90
24 de Noviembre del 2014
INTRODUCCIÓN
Las vibraciones han sido de interés en la ingeniería, por lo menos desde el principio de la
revolución industrial. Los movimientos oscilatorios de los motores rotatorios y alternativos
someten a sus partes a grandes cargas que deben ser considerados en su diseño. Los
operadores y pasajeros de los vehículos movidos por estos motores deben quedar aislados de
sus vibraciones. Comenzando con el desarrollo de dispositivos electromecánicos capaces de
generar y medir vibraciones mecánicas, tales como altoparlantes y micrófonos, las aplicaciones
en ingeniería de las vibraciones han incluido las diversas áreas de la acústica, desde la acústica
arquitectónica hasta la detección y análisis de sismos.
En este trabajo se considera un sistema vibratorio de un grado de libertad; es decir, la posición,
o la configuración, del sistema se especifica con una sola variable. Muchos sistemas vibratorios
reales, ya sea con un solo grado de libertad o sus movimientos se pueden modelar por medio de
un sistema de un grado de libertad en circunstancias particulares.
MARCO TEÓRICO
Conceptos básicos de la vibración.
Cualquier movimiento que se repite después de un intervalo de tiempo se llama vibración u
oscilación.
La oscilación de un péndulo y el movimiento de una cuerda pulsada son ejemplos típicos de
vibración. La teoría de la vibración tiene que ver con el estudio de los movimientos oscilatorios
de los cuerpos y las fuerzas asociadas con ellos
Un sistema vibratorio, en general, incluye un medio para almacenar energía potencial (resorte o
elasticidad), un medio para almacenar energía cinética (masa o inercia), y un medio por el cual
la energía se pierde gradualmente (amortiguador).
La vibración de un sistema implica la transformación de su energía potencial en energía cinética
y de la energía cinética en energía potencial, alternativamente. Si el sistema se amortigua, una
parte de la energía se disipa en cada ciclo de la vibración y debe ser reemplazada por una fuente
externa para que se mantenga un estado de vibración constante.
Clasificación de la vibración
La vibración puede ser clasificada de varias maneras. Algunas de las clasificaciones importantes
son como sigue.
Vibración libre. Si se deja que un sistemavibre por sí mismo,después de una perturbación inicial,
la vibración resultante se conoce como vibración libre. Ninguna fuerza externa actúa sobre el
sistema. La oscilación de un péndulo simple es un ejemplo de vibración libre.
Vibración forzada. Si un sistema se somete a una fuerza externa (a menudo, un tipo repetitivo
de fuerza), la vibración resultante se conoce como vibración forzada. La oscilación que surge en
máquinas tales como motores diesel es un ejemplo de vibración forzada.
Si la frecuencia de la fuerza externa coincide con una de las frecuencias naturales del sistema,
ocurre una condición conocida como resonancia, y el sistema sufre oscilaciones peligrosamente
grandes. Las fallas de estructuras tales como edificios, puentes, turbinas, y alas de avión se han
asociado con la ocurrencia de resonancia.
Vibración no amortiguada y amortiguada
Si no se pierde energía o disipa energía por fricción u otra resistencia durante la oscilación, la
vibración se conoce como la vibración no amortiguada. Sin embargo, si toda la energía se pierde
de esta manera, se llama vibración amortiguada. En muchos sistemas físicos, la cantidad de
amortiguamiento es tan pequeña que puede ignorarse en la mayoría de las aplicaciones de la
ingeniería. Sin embargo, la consideración del amortiguamiento se vuelve extremadamente
importante en el análisis de sistemas vibratorios cerca a la resonancia.
Vibración lineal y no lineal:
Si todos los componentes básicos de un sistemavibratorio, el resorte, la masa,y el amortiguador,
se comportan linealmente, la vibración resultante se conoce como vibración lineal. Pero, si
cualquiera de los componentes básicos se comporta de manera no lineal, la vibración se conoce
como vibración no lineal. Las ecuaciones diferenciales que rigen el comportamiento de los
sistemas vibratorios lineales y no lineales son lineal y no lineal, respectivamente. Si la vibración
es lineal, el principio de superposición es válido, y las técnicas matemáticas de análisis están
bien desarrolladas. Para vibración no lineal, el principio de superposición no es válido, y las
técnicas de análisis son menos conocidas. Dado que todos los sistemas vibratorios tienden a
comportarse de forma no lineal al aumentar la amplitud de oscilación, es deseable un
conocimiento de la vibración no lineal cuando se trate con sistemas vibratorios prácticos.
SISTEMA MASA-RESORTE: MOVIMIENTO FORZADO
ECUACIÓN DIFERENCIAL DEL MOVIMIENTO FORZADO CON AMORTIGUAMIENTO
En el estudio de la mecánica, las fuerzas amortiguadas que
actúan sobre un cuerpo son consideradas proporcionales a
una potencia de la velocidad instantánea. Considerando una
fuerza externa f(t) que actúa sobre una masa vibrante en un
resorte. Por ejemplo, f(t) podría representar una fuerza motriz
que usa un movimiento vertical oscilatorio del soporte del
resorte ver figura . La inclusión de f(t) en la formulación de la
segunda ley de Newton da la ecuación diferencial de
movimiento forzado:
Al dividir la ecuación entre m, se obtiene:
Donde F(t)=f(t)/m y, 2λ=β/m, ω2
=k/m. Para resolver la última ecuación homogénea, se puede
usar ya sea el método de coeficientes indeterminados o variación de parámetros.
PROBLEMADE APLICACIÓN:
INSTRUMENTO SÍSMICO
En la figura (1) se muestra un modelo general utilizado para la medición de vibraciones. La base
se sujeta al cuerpo, el cual tiene una vibración desconocida Asin(ωt), considere m = 120kg, ω =
5.81778, A = 0.1, k = 400, 𝜔 𝑛 = √
𝑘
𝑚
y c=𝜔 𝑛 𝑚. Para hallar el movimiento y la velocidad relativa
del sistema durante 15 segundos
Figura1
SOLUCIÓN:
Hacemos el diagrama de cuerpo libre de la masa m.
Las fuerzas que actúan sobre la masason la fuerza del resorte y la fuerza
de amortiguamiento suponiendo que x1 es mayor x2, la ecuación de movimiento es:
Sea el movimiento relativo x1-x2=x, entonces x1=x+x2 y x1’=x’+x2’ y la ecuación de movimiento
toma la forma:
o bien
Pero x2=Asinωt es la vibración del cuerpo libre, sustituyendo tenemos:
FIGURA 2: Gráficas del desplazamiento y velocidad de un instrumento sísmico
MÉTODO COMPUTACIONAL
PROGRAM ADAMS_BASHFORTH
PARAMETER (IDM=150)
DIMENSION
D(IDM,IDM),X(IDM),Y(IDM),F(IDM),Z(IDM),SUM1(IDM),VAL(IDM),VAL1(IDM),SUM2(IDM),R(I
DM,IDM)
REAL(4) H,P,P1
DIMENSION CP(4)
REAL ,PARAMETER::CP=(/55.0,-59.0,37.0,-9.0/)
!REAL ,PARAMETER::CC=(/9.0,19.0,-5.0,1.0/)
PRINT*,
'==================================================================='
PRINT*,'METHOD DE ADAMS-BASHFORTH PARAEDO DE LAFORMAy''=F(x,y(x),z) '
PRINT*,'==================================================================
=='
PRINT*,''
PRINT*,'INGRESAR EL VALOR DE N'
READ(5,*)N
PRINT*,''
PRINT*, 'INGRESAR LOS VALORES INICIALES X0 E Y0 Y Z(0)'
READ*, X(0),Y(0),Z(0)
PRINT*,''
PRINT*, 'INGRESAR H'
READ*, H
PRINT*,''
PRINT*,('*',I=1,79)
PRINT '(5X,"RESULTADOS")'
PRINT*,('*',I=1,79)
!APLICANDO EULER- CAUCHY
PRINT 90
90 FORMAT(3X,'EULER-CAUCHY APROXIMATION :'/)
PRINT 100
100 FORMAT(4X,'ITERATION',5X ,'X',16X,'Y',18X,'Z')
DO I=0,N
X(I+1)=X(I)+H
ENDDO
DO J=0,N
F(J)=-1.825746*(Z(J))-(400/120)*(Y(J))+0.1*(5.81778)**2*(SIN(5.81778*(X(J))))
IF (J.EQ.N) GOTO 10
Z(J+1)=Z(J)+H*F(J)
Y(J+1)=Y(J)+H*Z(J)
PRINT*,J+1,X(J+1),Y(J+1),Z(J+1)
10 ENDDO
PRINT 110
110 FORMAT(/3X,'ADAMS-BASHFORTH APROXIMATION:'/)
DO 6 L=0,N
D(0,L)=F(L)
WRITE (*,9)L,D(0,L)
9 FORMAT (2X,'F(',I3,')=',F12.4)
6 CONTINUE
PRINT*,''
DO I=0,N
K=I+1
IF(K.GE.5) GOTO 1
IF(I.EQ.0) THEN
SUM1(I)=0.0
ENDIF
SUM1(I+1)=(SUM1(I)+(CP(K)*H/24*D(0,N-I)))
WRITE (*,112)I+1,CP(K)
112 FORMAT (2X,'CP(',I2,')=',F12.4)
VAL(N+1)=Z(N)+SUM1(I+1)
1 ENDDO
PRINT*,''
P=VAL(N+1)
PRINT 115
115 FORMAT(/3X,'LAPREDICTOR FORMULADA:'/)
WRITE (*,116)N+1,P
116 FORMAT (2X,'ZP(',I3,')=',F12.4)
PRINT 117
117 FORMAT(/3X,'ADAMS-BASHFORTH APROXIMATION:'/)
DO L=0,N
R(0,L)=Z(L)
ENDDO
DO I=0,N
K=I+1
IF(K.GE.5)GOTO 2
IF(I.EQ.0) THEN
SUM1(I)=0.0
ENDIF
SUM2(I+1)=(SUM2(I)+(CP(K)*H/24*R(0,N-I)))
VAL1(N+1)=Y(N)+SUM2(I+1)
2 ENDDO
P1=VAL1(N+1)
PRINT 119
119 FORMAT(/3X,'LAPREDICTOR FORMULADA:'/)
WRITE (*,120)N+1,P1
120 FORMAT (2X,'YP(',I3,')=',F12.4)
PRINT*,''
PRINT*,'POR LO TANTO,LUEGO DE',N,'-ITERACIONES OBTENEMOS:'
PRINT*,''
WRITE (*,121) X(N+1),P1
PRINT*,''
121 FORMAT (10X,'Y(',F7.2,')=',F12.4)
PRINT*,''
STOP
END PROGRAM
CONCLUSIÓN
Luego de haber usado el método de Adams –Bashforth y el método de Euler mejorado
obtenemos las alturas en diferentes instantes de tiempo los cuales están en óptimo acuerdo
con los valores obtenidos mediante MATLAB en las gráficas. Además, observamos de la
gráfica que el movimiento y velocidad del sistema es oscilatorio, y no está en resonancia
REFERENCIABIBLIOGRÁFICA
J.B. Marion, 1984; Dinámica clásica de las partículas y sistemas. Reverté, 1984.
REFERNCIAS WEB
http://www.monografias.com/trabajos81/vibraciones-mecanicas/vibraciones-mecanicas.shtml
APLICACIONES ADICIONALES:
MÉTODO DE ADAMS-BASHFORTH CON CAMBIO DE VARIABLE
APLICACIÓN FÍSICA:
El sistema de la figura está formado por dos varillas AB y CD de longitud L y masa M,
articuladas en sus extremos A y C a sendos puntos fijos, y en sus extremos B y D a un
bastidor de masa despreciable (verfigura).El bastidor tiene una ranura enla que se mueve
sin rozamiento un oscilador lineal formado por una masa m, un resorte de rigidez k y un
amortiguador viscoso de constante c. En el instante inicial la masa m se encuentra en
reposo relativo al bastidor y las varillas AB y CD son perpendiculares a dicho bastidor.
Calcular la posición en t=0.2 s.
SOLUCIÓN:
Suponiendo que las varillas giran con velocidad angular impuesta 𝜃̇ = Ω constante, de 0.1 rad/s,
L=1m, m=1kg, c=1.56 Nm/s, k=70N/m y ciertas condiciones iniciales tenemos
La ecuación diferencial del movimiento de la partícula en el bastidor es:
Usando Euler:
𝑌𝑛+1 = 𝑌𝑛 + ∆𝑥 𝐹(𝑋 𝑛, 𝑌𝑛)
Usando Adams-Bashforth:
𝑌𝑛+1 = 𝑌𝑛 +
∆𝑋
24
[55𝐹𝑛 − 59𝐹𝑛−1 + 37𝐹𝑛−2 − 9𝐹𝑛−3]
Usando fortran tenemos:
PROGRAM ADAMS_BASHFORTH
PARAMETER (IDM=150)
DIMENSION
D(IDM,IDM),X(IDM),Y(IDM),F(IDM),Z(IDM),SUM1(IDM),VAL(IDM),VAL1(IDM),SUM2(IDM),R(I
DM,IDM)
REAL(4) H,P,P1
DIMENSION CP(4)
REAL ,PARAMETER::CP=(/55.0,-59.0,37.0,-9.0/)
!REAL ,PARAMETER::CC=(/9.0,19.0,-5.0,1.0/)
PRINT*,
'==================================================================='
PRINT*,'METHOD DE ADAMS-BASHFORTH PARAEDO DE LAFORMAy''=F(x,y(x),z) '
PRINT*,'==================================================================
=='
PRINT*,''
PRINT*,'INGRESAR EL VALOR DE N'
READ(5,*)N
PRINT*,''
PRINT*, 'INGRESAR LOS VALORES INICIALES X0 E Y0 Y Z(0)'
READ*, X(0),Y(0),Z(0)
PRINT*,''
PRINT*, 'INGRESAR H'
READ*, H
PRINT*,''
PRINT*,('*',I=1,79)
PRINT '(5X,"RESULTADOS")'
PRINT*,('*',I=1,79)
!APLICANDO EULER- CAUCHY
PRINT 90
90 FORMAT(3X,'EULER-CAUCHY APROXIMATION :'/)
PRINT 100
100 FORMAT(4X,'ITERATION',5X ,'X',16X,'Y',18X,'Z')
DO I=0,N
X(I+1)=X(I)+H
ENDDO
DO J=0,N
F(J)=-1.56*(Z(J))-(70)*(Y(J))+(0.1)**2*(SIN(X(J)))
IF (J.EQ.N) GOTO 10
Z(J+1)=Z(J)+H*F(J)
Y(J+1)=Y(J)+H*Z(J)
PRINT*,J+1,X(J+1),Y(J+1),Z(J+1)
10 ENDDO
PRINT 110
110 FORMAT(/3X,'ADAMS-BASHFORTH APROXIMATION:'/)
DO 6 L=0,N
D(0,L)=F(L)
WRITE (*,9)L,D(0,L)
9 FORMAT (2X,'F(',I3,')=',F12.4)
6 CONTINUE
PRINT*,''
DO I=0,N
K=I+1
IF(K.GE.5) GOTO 1
IF(I.EQ.0) THEN
SUM1(I)=0.0
ENDIF
SUM1(I+1)=(SUM1(I)+(CP(K)*H/24*D(0,N-I)))
WRITE (*,112)I+1,CP(K)
112 FORMAT (2X,'CP(',I2,')=',F12.4)
VAL(N+1)=Z(N)+SUM1(I+1)
1 ENDDO
PRINT*,''
P=VAL(N+1)
PRINT 115
115 FORMAT(/3X,'LAPREDICTOR FORMULADA:'/)
WRITE (*,116)N+1,P
116 FORMAT (2X,'ZP(',I3,')=',F12.4)
PRINT 117
117 FORMAT(/3X,'ADAMS-BASHFORTH APROXIMATION:'/)
DO L=0,N
R(0,L)=Z(L)
ENDDO
DO I=0,N
K=I+1
IF(K.GE.5)GOTO 2
IF(I.EQ.0) THEN
SUM1(I)=0.0
ENDIF
SUM2(I+1)=(SUM2(I)+(CP(K)*H/24*R(0,N-I)))
VAL1(N+1)=Y(N)+SUM2(I+1)
2 ENDDO
P1=VAL1(N+1)
PRINT 119
119 FORMAT(/3X,'LAPREDICTOR FORMULADA:'/)
WRITE (*,120)N+1,P1
120 FORMAT (2X,'YP(',I3,')=',F12.4)
PRINT*,''
PRINT*,'POR LO TANTO,LUEGO DE',N,'-ITERACIONES OBTENEMOS:'
PRINT*,''
WRITE (*,121) X(N+1),P1
PRINT*,''
121 FORMAT (10X,'Y(',F7.2,')=',F12.4)
PRINT*,''
STOP
END PROGRAM
MÉTODO DE STORMER
Enunciado del problema: Considere el circuito que se muestra en la figura 1.el cual consta de
un inductor L, un resistor R y un capacitor C. Cuando se aplica un voltaje E(t), hace que una
corriente de magnitud i fluya a través del circuito. Cuando la corriente fluye más allá del inductor
la caída de voltaje es L(di/dt), cuando fluye a través del resistor la caída es Ri, y cuando llega al
capacitor la caída es (1/C)q. Como la corriente no puede fluir más allá del capacitor, sólo es
posible medir la carga q que actúa en el capacitor. Por lo tanto, las caídas de voltaje que ocurren
a través del inductor, resistor y capacitor son Ld2
q/dt2
, Rdq/dt, y q//C, respectivamente. De
acuerdo con la ley del voltaje de Kirchhoff, el voltaje aplicado es igual a la suma de caídas de
voltaje alrededor del circuito. Por consiguiente,
, donde E(t)=ωVpcosωt, R=1.0Ω, C=0.08F, L=0.0088H, Vp=4,
f=1Hz, usando el método de Stormer con h=0.05 resolver el problema de valores iniciales
i(0)=1.632 A, i(0.05) =1.813 A, con tol=0.05
Figura1
SOLUCIÓN:
Reemplazando los datos tenemos:
𝑑2 𝑖
𝑑𝑡2 = 2854.55cos(6.283𝑥) − 113.636𝑑𝑖/𝑑𝑡 − 1420.454𝑦
Usando el método de Stormer:
𝑖 𝑛+1 = 2𝑖 𝑛 − 𝑖 𝑛−1 + [2854.55cos(6.283𝑥) − 113.636𝑑𝑖/𝑑𝑡 − 1420.454𝑦](∆𝑡2)
Usando fortran 90 tenemos:
PROGRAM STORMER_VERLET
PARAMETER (IDM=100)
DIMENSION X(IDM), Y(IDM)
REAL H,N,DY,B,EE,TOL
PRINT*,''
PRINT*,
'====================================================================='
PRINT*,'METHOD DE STORMER VERLET PARA EDO'
PRINT*,'DE SEGUNDO ORDENCON CONDICIONES INICIALES'
PRINT*,'==================================================================
===='
PRINT*,''
PRINT*,'INGRESAR EL NUMERO DE PUNTOS N'
READ(5,*)N
PRINT*, 'INGRESAR LOS VALORES INICIALES X0 E Y0'
READ*, X(0),Y(0)
PRINT*, 'INGRESAR LOS VALORES INICIALES X1 E Y1'
READ*, X(1),Y(1)
PRINT*, 'INGRESAR H'
READ*, H
PRINT*, 'INGRESAR LA TOL'
READ*, TOL
PRINT*,''
PRINT*,('*',I=1,79)
PRINT '(5X,"RESULTADOS")'
PRINT*,('*',I=1,79)
PRINT*,''
PRINT 100
100 FORMAT(11X,'N',7X ,'X(N)',14X,'Y(N)')
DO I=2,N
X(I)=X(0)+I*H
ENDDO
PRINT*,0,X(0),Y(0)
PRINT*,1,X(1),Y(1)
DO J=2,N
A=Y(J-1)
10 DY=0.5*(A-Y(J-2))/H
B=F(X(J-1),Y(J-1),DY)
Y(J)=2*Y(J-1)-Y(J-2)+B*H**2
EE=ABS(Y(J)-A) !ERROR ENCONTRADO
IF (EE.GT.TOL) THEN
A=(Y(J)+A)/2
GOTO 10
END IF
PRINT*,J,X(J),Y(J)
END DO
PRINT*,''
PRINT*,' POR LO TANTO,LUEGO DE LAS ITERACIONES OBTENEMOS:'
PRINT*,''
WRITE (*,121) X(N),Y(N)
121 FORMAT (10X,'Y(',F7.2,')=',F12.4)
PRINT*,''
END PROGRAM
FUNCTION F(X,Y,Z)
F=2854.55*COS(6.283*X)-113.636*Z-1420.454*Y
RETURN
END FUNCTION
MÉTODO DE ADAMS-MOULTON
IMPACTO DE UN COCHE CONTRAUNABARRERA DE PROTECCIÓN.
Una barrera de protección se sitúa al final de un
circuito con el objeto de parar coches que han
perdido el control. Esta barrera se ha diseñado de
forma que la fuerza que la barrera aplica al coche
viene dada en función de la velocidad v y del
desplazamiento x de la parte frontal de la barrera,
según la expresión:
Donde k=30 s-kg/m5
es una constante.
Un coche, con una masa m de 1500 kg, impacta contra la barrera de protección a una
velocidad de 90 km/h. Calcular la velocidad en la posición x =0.8 m.
SOLUCIÓN:
La desaceleración del coche, una vez que éste ha impactado contra la barrera, se puede calcular
utilizando la segunda Ley de Newton:
Esta ecuación se puede resolver para la aceleración a en función de v y x:
La velocidad, en función de x, se puede calcular sustituyendo la aceleración en la ecuación:
, lo que resulta:
Esta última ecuación es una ecuación diferencial ordinaria de primer orden, que se resolverá en
X=0.8 m con la condición inicial v=90 km/h en x=0
Usando Euler Mejorado:
𝑌𝑛+1 = 𝑌𝑛 + ∆𝑥 (𝐹( 𝑋 𝑛, 𝑌𝑛)+ 𝐹( 𝑋 𝑛+1, 𝑌𝑛+1
∗ ))∗ 0.5
𝑌𝑛+1
∗
= 𝑌𝑛 + ∆𝑥 (𝐹( 𝑋 𝑛, 𝑌𝑛)
Usando Adams-Moulton:
𝑌𝑛+1 = 𝑌 𝑛 +
∆𝑋
24
[9𝐹𝑛+1 − 19𝐹𝑛 − 5𝐹𝑛−1 + 𝐹𝑛−2]
Utilizando fortran 90 tenemos:
PROGRAM ADAMS_MOULTON
PARAMETER (IDM=150)
DIMENSION Z(IDM,IDM),X(IDM), Y(IDM),R(IDM)
REAL H,M,N,TOL
DIMENSION CC(4)
REAL ,PARAMETER::CC=(/9.0,19.0,-5.0,1.0/)
PRINT*,''
PRINT*, '=========================================================='
PRINT*,'METHOD DE ADAMS-MOULTON-PARA EDO DE LA FORMA DY/DX=F(X,Y)'
PRINT*,'============================================================'
PRINT*,''
PRINT*,'INGRESAR EL NUMBER DE PUNTOS'
READ(5,*)N
PRINT*, 'INGRESAR LOS VALORES INICIALES X0 E Y0'
READ*, X(0),Y(0)
PRINT*, 'INGRESAR H'
READ*, H
PRINT*, 'INGRESAR TOLERANCIA'
READ*, TOL
PRINT*,('*',I=1,79)
PRINT '(5X,"RESULTADOS")'
PRINT*,('*',I=1,79)
!APLICANDO EULER- CAUCHY MEJORADO
PRINT 90
90 FORMAT(3X,'EULER-CAUCHY APROXIMATION MEJORADA:'/)
PRINT 100
100 FORMAT(7X,'ITERATION',5X ,'X',16X,'Y')
DO I=1,N
X(I)=X(0)+I*H
ENDDO
PRINT*,0,X(0),Y(0)
DO J=1,3
R(J)= Y(J-1)+H*F(X(J-1),Y(J-1))
Y(J)=Y(J-1)+(0.5)*H*(F(X(J-1),Y(J-1))+F(X(J),R(J)))
PRINT*,J,X(J),Y(J)
END DO
PRINT*,''
PRINT 110
110 FORMAT(/3X,'METHOD DE ADMS MOULT:'/)
DO I=1,4
WRITE (*,112)I,CC(I)
112 FORMAT (2X,'CC(',I2,')=',F12.4)
ENDDO
PRINT 113
113 FORMAT(9X ,'X',19X,'Y')
DO J=3,N
IF(J.EQ.3)THEN
Z(0,J)=Y(J)
Y(J)=Z(0,J)
ELSE
Z(0,J)=Y(J-1)
Y(J)=Z(0,J)
ENDIF
M=0
10 M=M+1
Z(M,J)=Y(J-1)+H/24*(9*F(X(J),Y(J))+19*F(X(J-1),Y(J-1))-5*F(X(J-2),Y(J-2))+F(X(J-
3),Y(J-3)))
Y(J)=Z(M,J)
!CALCULAMOS LA TOLERANCIA
EE=ABS(Z(M,J)-Z(M-1,J)) !ERROR ENCONTRADO
IF (EE.GT.TOL) THEN
GOTO 10
END IF
PRINT*, X(J),Y(J)
ENDDO
PRINT*,''
PRINT*,' POR LO TANTO,LUEGO DE LAS ITERACIONES OBTENEMOS:'
PRINT*,''
WRITE (*,121) X(N),Y(N)
121 FORMAT (10X,'Y(',F7.2,')=',F12.4)
PRINT*,''
END PROGRAM
FUNCTION F(X,Y)
F=(-0.02)*Y**2*(X+1)**3
RETURN
END FUNCTION
MÉTODO DE NUMEROV
Enunciado del problema: Si el bloque está sometido a la fuerza impresa F= F0cosωt, las leyes
básicas de la física dan lugar a la ecuación diferencial de movimiento:
, donde F0/m=16, ω=8, k/m=64 e y se mide desde la
posición de equilibrio del bloque, usando el método de Numerov con h=0.1 resolver el problema
de valores iniciales y(0)=0.0,y(0.1) =0.07174, t Є (0,0.5)
SOLUCIÓN:
Reemplazando los datos tenemos:
𝑑2 𝑦
𝑑𝑡2 = −64𝑦 + 16𝑐𝑜𝑠8𝑡
Usando el método de Numerov:
𝑦 𝑛+1 = [2𝑦𝑛 𝐵 − 𝑦 𝑛−1 𝐶 + 𝐷]
1
𝐴
Siendo g(t)=64+0.0t , s(t)=16cos8t
Usando fortran 90 tenemos:
PROGRAM NUMEROV
PARAMETER (IDM=100)
DIMENSION X(IDM), Y(IDM)
REAL H,N,A,B,C,D
PRINT*,''
PRINT*,
'====================================================================='
PRINT*,'METHOD DE NUMEROV PARA EDOS DE SEGUNDO ORDENCON CONDICIONES
INICIALES'
PRINT*,'==================================================================
===='
PRINT*,''
PRINT*,'INGRESAR EL NUMERO DE PUNTOS N'
READ(5,*)N
PRINT*, 'INGRESAR LOS VALORES INICIALES X0 E Y0'
READ*, X(0),Y(0)
PRINT*, 'INGRESAR LOS VALORES INICIALES X1 E Y1'
READ*, X(1),Y(1)
PRINT*, 'INGRESAR H'
READ*, H
PRINT*,''
PRINT*,('*',I=1,79)
PRINT '(5X,"RESULTADOS")'
PRINT*,('*',I=1,79)
PRINT*,''
PRINT 100
100 FORMAT(5X,'ITERATION',5X ,'X',16X,'Y')
DO I=2,N
X(I)=X(0)+I*H
ENDDO
PRINT*,0,X(0),Y(0)
PRINT*,1,X(1),Y(1)
DO J=2,N
A=1+(G(X(J))*H**2)/12
B=1-(G(X(J-1))*H**2)*5/12
C=1+(G(X(J-2))*H**2)/12
D=((S(X(J))+10*S(X(J-1))+S(X(J-2)))/12)*H**2
Y(J)=(2*Y(J-1)*B-Y(J-2)*C+D)/A
PRINT*,J,X(J),Y(J)
END DO
PRINT*,''
PRINT*,''
PRINT*,' POR LO TANTO,LUEGO DE LAS ITERACIONES OBTENEMOS:'
PRINT*,''
WRITE (*,121) X(N),Y(N)
121 FORMAT (10X,'Y(',F7.2,')=',F12.4)
PRINT*,''
END PROGRAM
FUNCTION G(X)
G=64+0*X
RETURN
END FUNCTION
FUNCTION S(X)
S=16*COS(8*X)
RETURN
END FUNCTION
METODO DE RELAJACION DE GAUSS-SEIDEL
Las superficies interior y exterior de una chimenea cuya sección transversal se muestra en el
esquema de la figura 5 se encuentran a 100 y 0°C, respectivamente. Calcular las temperaturas
T1, T2, T3, T4.
Usando la ecuación:
Solución:
De la ecuación (13):
Nodo 1:
entonces,
Nodo 2:
entonces,
Nodo 3:
entonces,
Nodo 4: entonces,
Ordenando tenemos:
2T2+100-4T1=0
T1+100+T3-4T2=0
T2+100+T4-4T3=0
2T3-4T4=0
Resolviendo el sistema de ecuaciones por el método iterativo de relajación de gauss seidel
tenemos:
T1=48.89°C
T2=47.78°C
T3=42.22°C
T4=21.11°C
PROGRAM GAUSS_SEIDEL
REAL(4) A(10,10) , B(10), X(10,10), TOL
WRITE(*,*)''
WRITE(*,*)' ================================================'
WRITE(*,*)' SOUCION DE SISTEMAS DE ECUACIONES LINEALES'
WRITE(*,*)' ================================================'
WRITE(*,*)''
WRITE(*,*)''
WRITE(*,*)' ================================================'
WRITE(*,*)' METODO DE RELAJACION DE GAUSS-SEIDEL A.X=B'
WRITE(*,*)' ================================================'
WRITE(*,*)''
WRITE(*,*)''
WRITE(*,*)'INGRESE EL ORDEN DE LA MATRIZ A'
READ(*,*) N
WRITE(*,*)''
WRITE(*,*)'INGRESE LOS ELEMENTOS DE LA MATRIZ A'
DO I=1,N
READ(*,*) (A(I,J),J=1,N)
END DO
WRITE(*,*) ''
WRITE(*,*) 'INGRESE LOS ELEMENTOS DEL VECTOR B'
DO I=1,N
READ(*,*) B(I)
END DO
WRITE(*,*) ''
WRITE(*,*) 'INGRESE LOS ELEMENTOS DEL VECTOR APROXIMADO X'
DO I=1,N
READ(*,*)X(0,I)
END DO
WRITE(*,*) ''
WRITE(*,*)'INGRESE LA TOLERANCIA %'
READ(*,*)TOL
WRITE(*,*)''
WRITE(*,*)''
WRITE(*,*)''
WRITE(*,*)'================================================================
='
WRITE(*,*)''
WRITE(*,*)''
WRITE(*,*)' =================='
WRITE(*,*)' MATRIZ INGRESADA'
WRITE(*,*)' =================='
WRITE(*,*)''
DO I=1,N
WRITE(*,2)(A(I,J),J=1,N)
END DO
WRITE(*,*)''
WRITE(*,*)''
WRITE(*,*)' ============================================='
WRITE(*,*)' ORDEN DE RESULTADOS DEL '
WRITE(*,*)' APROXIMACION K VECTOR SOLUCION "X"'
WRITE(*,*)' ============================================='
K=0
3 DO I=1,N
SUMA1=0
DO J=1,N
IF (J.GT.I)THEN
SUMA1= SUMA1 + A(I,J)*X(K,J)
END IF
END DO
SUMA2=0
DO J=1,N
IF (J.LT.I)THEN
SUMA2= SUMA2 + A(I,J)*X(K+1,J)
END IF
END DO
X(K+1, I)= (B(I) - SUMA1-SUMA2)/A(I,I)
END DO
WRITE(*,5)K,(X(K+1,J),J=1,N)
!EVALUAMOS LA CONVERGENCIA
DO I=1,N
EA=ABS(X(K+1,I)-X(K,I))
IF(EA.GT.TOL)THEN
K=K+1
GOTO 3
END IF
END DO
WRITE(*,*)''
WRITE(*,*)''
WRITE(*,*)' ORDEN K:',K
WRITE(*,*)''
WRITE(*,*)' COMPONENTES DEL VECTOR SOLUCION "X"'
WRITE(*,*)' ===================================='
DO I=1,N
WRITE(*,10)I,X(K+1,I)
END DO
WRITE(*,*) ''
WRITE(*,*) ''
WRITE(*,*) ''
2 FORMAT(2X,7(F8.2))
5 FORMAT(3X,(I2,9X),10(F9.4,3X))
10 FORMAT (2X,I2,10(F9.4,3X))
END
SOLUCIÓN BASADA EN LA INTEGRACIÓN NUMÉRICA (MÉTODO ADAMS-
MOULTON-BASHFORTH).
Enunciado del problema: Al modelar la velocidad de los aviones y la pérdida de altitud
cuando se emerge de un picado, las leyes básicas de la física dan lugar a la ecuación
diferencial
, donde θ denota el ángulo de picado (en radianes), V =
V (θ) es la velocidad del avión, g = 9,8 m/s2 es la constante de aceleración, y k es una
constante relacionada con el área de superficie del ala. Para un avión concreto, k =
0,00145, θ0 = -0,786, y V (θ0)=V0 = 150 m/s. Utilice h = 0,006 (que divide θ0 en segmentos
iguales) y n = 131 para estimar, la velocidad del avión a la finalización del picado, es
decir, cuando se endereza hasta θ = 0. (¡Por supuesto, utilice herramientas
tecnológicas!)
SOLUCIÓN:
Usando Euler Mejorado:
𝑌𝑛+1 = 𝑌𝑛 + ∆𝑥 (𝐹( 𝑋 𝑛, 𝑌𝑛) + 𝐹( 𝑋 𝑛+1, 𝑌𝑛+1
∗ )) ∗ 0.5
𝑌𝑛+1
∗
= 𝑌𝑛 + ∆𝑥 (𝐹( 𝑋 𝑛, 𝑌𝑛)
Usando Adams-Moulton-Bashforth:
𝑌𝑛+1
0
= 𝑌𝑛 +
∆𝑋
24
[55𝐹𝑛 − 59𝐹𝑛−1 + 37𝐹𝑛−2 − 9𝐹𝑛−3 ]
𝑌𝑛+1
𝑖+1
= 𝑌𝑛 +
∆𝑋
24
[9𝐹𝑛+1
𝑖
+ 19𝐹𝑛 − 5𝐹𝑛 −1 + 𝐹𝑛 −2]
Utilizando fortran 90 tenemos:
PROGRAM PREDICTOR_CORRECTOR
PARAMETER (IDM=150)
DIMENSION Z(IDM,IDM),X(IDM), Y(IDM),R(IDM)
REAL H,M,N,TOL
DIMENSION CP(4),CC(4)
REAL ,PARAMETER::CP=(/55.0,-59.0,37.0,-9.0/)
REAL ,PARAMETER::CC=(/9.0,19.0,-5.0,1.0/)
PRINT*,''
PRINT*, '=========================================================='
PRINT*,'METHOD DE ADAMS-MOULTON-BASHFORTH PARA EDO DE LA FORMA
DY/DX=F(X,Y)'
PRINT*,'============================================================
'
PRINT*,''
PRINT*,'INGRESAR EL NUMBER DE PUNTOS'
READ(5,*)N
PRINT*, 'INGRESAR LOS VALORES INICIALES X0 E Y0'
READ*, X(0),Y(0)
PRINT*, 'INGRESAR H'
READ*, H
PRINT*, 'INGRESAR TOLERANCIA'
READ*, TOL
PRINT*,('*',I=1,79)
PRINT '(5X,"RESULTADOS")'
PRINT*,('*',I=1,79)
!APLICANDO EULER- CAUCHY MEJORADO
PRINT 90
90 FORMAT(3X,'EULER-CAUCHY APROXIMATION MEJORADA:'/)
PRINT 100
100 FORMAT(7X,'ITERATION',5X ,'X',16X,'Y')
DO I=1,N
X(I)=X(0)+I*H
ENDDO
PRINT*,0,X(0),Y(0)
DO J=1,3
R(J)= Y(J-1)+H*F(X(J-1),Y(J-1))
Y(J)=Y(J-1)+(0.5)*H*(F(X(J-1),Y(J-1))+F(X(J),R(J)))
PRINT*,J,X(J),Y(J)
END DO
PRINT*,''
PRINT 110
110 FORMAT(/3X,'PROCEDIMIENTO PREDICTOR-CORRECTOR:'/)
DO J=1,4
WRITE (*,111)J,CP(J)
111 FORMAT (2X,'CP(',I2,')=',F12.4)
ENDDO
PRINT*,''
DO I=1,4
WRITE (*,112)I,CC(I)
112 FORMAT (2X,'CC(',I2,')=',F12.4)
ENDDO
PRINT 113
113 FORMAT(9X ,'X',19X,'Y')
DO J=4,N
Z(0,J)=Y(J-1)+H/24*(55*F(X(J-1),Y(J-1))-59*F(X(J-2),Y(J-2))+37*F(X(J-3),Y(J-
3))-9*F(X(J-4),Y(J-4)))
Y(J)=Z(0,J)
M=0
10 M=M+1
Z(M,J)=Y(J-1)+H/24*(9*F(X(J),Y(J))+19*F(X(J-1),Y(J-1))-5*F(X(J-2),Y(J-
2))+F(X(J-3),Y(J-3)))
Y(J)=Z(M,J)
!CALCULAMOS LA TOLERANCIA
EE=ABS(Z(M,J)-Z(M-1,J)) !ERROR ENCONTRADO
IF (EE.GT.TOL) THEN
GOTO 10
END IF
PRINT*, X(J),Y(J)
ENDDO
PRINT*,''
PRINT*,' POR LO TANTO,LUEGO DE LAS ITERACIONES OBTENEMOS:'
PRINT*,''
WRITE (*,121) X(N),Y(N)
121 FORMAT (10X,'Y(',F7.2,')=',F12.4)
PRINT*,''
END PROGRAM
FUNCTION F(X,Y)
!F=4*Y+COS(X**2)
F=-9.8*Y*SIN(X)/(0.00145*(Y**2)-9.8*COS(X))
RETURN
END FUNCTION
PROBLEMA1
Elaborar una codificación para el método del Predictor-Corrector Adams
Bashforth-Moulton, y hallar la solución de la siguiente ecuación diferencial.
Y’=4y+cos(x2), considere: x0=0, y0=1.2, xf=1, N=10, tol=0.01.
SOLUCIÓN:
PROGRAM PREDICTOR_CORRECTOR
PARAMETER (IDM=150)
DIMENSION Z(IDM,IDM),X(IDM), Y(IDM),R(IDM)
REAL H,M,N,TOL
DIMENSION CP(4),CC(4)
REAL ,PARAMETER::CP=(/55.0,-59.0,37.0,-9.0/)
REAL ,PARAMETER::CC=(/9.0,19.0,-5.0,1.0/)
PRINT*,''
PRINT*, '=========================================================='
PRINT*,'METHOD DE ADAMS-MOULTON-BASHFORTH PARA EDO DE LA FORMA
DY/DX=F(X,Y)'
PRINT*,'============================================================
'
PRINT*,''
PRINT*,'INGRESAR EL NUMBER DE PUNTOS'
READ(5,*)N
PRINT*, 'INGRESAR LOS VALORES INICIALES X0 E Y0'
READ*, X(0),Y(0)
PRINT*, 'INGRESAR H'
READ*, H
PRINT*, 'INGRESAR TOLERANCIA'
READ*, TOL
PRINT*,('*',I=1,79)
PRINT '(5X,"RESULTADOS")'
PRINT*,('*',I=1,79)
!APLICANDO EULER- CAUCHY MEJORADO
PRINT 90
90 FORMAT(3X,'EULER-CAUCHY APROXIMATION MEJORADA:'/)
PRINT 100
100 FORMAT(7X,'ITERATION',5X ,'X',16X,'Y')
DO I=1,N
X(I)=X(0)+I*H
ENDDO
PRINT*,0,X(0),Y(0)
DO J=1,3
R(J)= Y(J-1)+H*F(X(J-1),Y(J-1))
Y(J)=Y(J-1)+(0.5)*H*(F(X(J-1),Y(J-1))+F(X(J),R(J)))
PRINT*,J,X(J),Y(J)
END DO
PRINT*,''
PRINT 110
110 FORMAT(/3X,'PROCEDIMIENTO PREDICTOR-CORRECTOR:'/)
DO J=1,4
WRITE (*,111)J,CP(J)
111 FORMAT (2X,'CP(',I2,')=',F12.4)
ENDDO
PRINT*,''
DO I=1,4
WRITE (*,112)I,CC(I)
112 FORMAT (2X,'CC(',I2,')=',F12.4)
ENDDO
PRINT 113
113 FORMAT(9X ,'X',19X,'Y')
DO J=4,N
Z(0,J)=Y(J-1)+H/24*(55*F(X(J-1),Y(J-1))-59*F(X(J-2),Y(J-2))+37*F(X(J-3),Y(J-
3))-9*F(X(J-4),Y(J-4)))
Y(J)=Z(0,J)
M=0
10 M=M+1
Z(M,J)=Y(J-1)+H/24*(9*F(X(J),Y(J))+19*F(X(J-1),Y(J-1))-5*F(X(J-2),Y(J-
2))+F(X(J-3),Y(J-3)))
Y(J)=Z(M,J)
!CALCULAMOS LA TOLERANCIA
EE=ABS(Z(M,J)-Z(M-1,J)) !ERROR ENCONTRADO
IF (EE.GT.TOL) THEN
GOTO 10
END IF
PRINT*, X(J),Y(J)
ENDDO
PRINT*,''
PRINT*,' POR LO TANTO,LUEGO DE LAS ITERACIONES OBTENEMOS:'
PRINT*,''
WRITE (*,121) X(N),Y(N)
121 FORMAT (10X,'Y(',F7.2,')=',F12.4)
PRINT*,''
END PROGRAM
FUNCTION F(X,Y)
F=4*Y+COS(X**2)
!F=-9.8*Y*SIN(X)/(0.00145*(Y**2)-9.8*COS(X))
RETURN
END FUNCTION
PROGRAM NUMEROV
PARAMETER (IDM=100)
DIMENSION X(IDM), Y(IDM)
REAL H,N,A,B,C,D
PRINT*,''
PRINT*,
'==================================================================
==='
PRINT*,'METHOD DE NUMEROV PARA EDOS DE SEGUNDO ORDEN CON
CONDICIONES INICIALES'
PRINT*,'============================================================
=========='
PRINT*,''
PRINT*,'INGRESAR EL NUMERO DE PUNTOS N'
READ(5,*)N
PRINT*, 'INGRESAR LOS VALORES INICIALES X0 E Y0'
READ*, X(0),Y(0)
PRINT*, 'INGRESAR LOS VALORES INICIALES X1 E Y1'
READ*, X(1),Y(1)
PRINT*, 'INGRESAR H'
READ*, H
PRINT*,''
PRINT*,('*',I=1,79)
PRINT '(5X,"RESULTADOS")'
PRINT*,('*',I=1,79)
PRINT*,''
PRINT 100
100 FORMAT(5X,'ITERATION',5X ,'X',16X,'Y')
DO I=2,N
X(I)=X(0)+I*H
ENDDO
PRINT*,0,X(0),Y(0)
PRINT*,1,X(1),Y(1)
DO J=2,N
A=1+(G(X(J))*H**2)/12
B=1-(G(X(J-1))*H**2)*5/12
C=1+(G(X(J-2))*H**2)/12
D=((S(X(J))+10*S(X(J-1))+S(X(J-2)))/12)*H**2
Y(J)=(2*Y(J-1)*B-Y(J-2)*C+D)/A
PRINT*,J,X(J),Y(J)
END DO
PRINT*,''
PRINT*,''
PRINT*,' POR LO TANTO,LUEGO DE LAS ITERACIONES OBTENEMOS:'
PRINT*,''
WRITE (*,121) X(N),Y(N)
121 FORMAT (10X,'Y(',F7.2,')=',F12.4)
PRINT*,''
END PROGRAM
!FUNCTION G(X)
!G=-3*X
!RETURN
!END FUNCTION
!FUNCTION S(X)
!S=5*COS(2*X)
!RETURN
!END FUNCTION
FUNCTION G(X)
G=64+0*X
RETURN
END FUNCTION
FUNCTION S(X)
S=16*COS(8*X)
RETURN
END FUNCTION
PROBLEMA1
Elaborar una codificación por el método del Corrector Adams Moulton, y hallar la
solución de la siguiente ecuación diferencial.
Y’=4y+cos(x2), considere: x0=0, y0=1.2, xf=1, n=10, tol=0.01.
SOLUCIÓN:
PROGRAM ADAMS_MOULTON
PARAMETER (IDM=150)
DIMENSION Z(IDM,IDM),X(IDM), Y(IDM),R(IDM)
REAL H,M,N,TOL
DIMENSION CC(4)
REAL ,PARAMETER::CC=(/9.0,19.0,-5.0,1.0/)
PRINT*,''
PRINT*, '=========================================================='
PRINT*,'METHOD DE ADAMS-MOULTON PARA EDO DE LA FORMA DY/DX=F(X,Y)'
PRINT*,'============================================================
'
PRINT*,''
PRINT*,'INGRESAR EL NUMBER DE PUNTOS'
READ(5,*)N
PRINT*, 'INGRESAR LOS VALORES INICIALES X0 E Y0'
READ*, X(0),Y(0)
PRINT*, 'INGRESAR H'
READ*, H
PRINT*, 'INGRESAR TOLERANCIA'
READ*, TOL
PRINT*,('*',I=1,79)
PRINT '(5X,"RESULTADOS")'
PRINT*,('*',I=1,79)
!APLICANDO EULER- CAUCHY MEJORADO
PRINT 90
90 FORMAT(3X,'EULER-CAUCHY APROXIMATION MEJORADA:'/)
PRINT 100
100 FORMAT(7X,'ITERATION',5X ,'X',16X,'Y')
DO I=1,N
X(I)=X(0)+I*H
ENDDO
PRINT*,0,X(0),Y(0)
DO J=1,3
R(J)= Y(J-1)+H*F(X(J-1),Y(J-1))
Y(J)=Y(J-1)+(0.5)*H*(F(X(J-1),Y(J-1))+F(X(J),R(J)))
PRINT*,J,X(J),Y(J)
END DO
PRINT*,''
PRINT 110
110 FORMAT(/3X,'PROCEDIMIENTO PREDICTOR-CORRECTOR:'/)
DO I=1,4
WRITE (*,112)I,CC(I)
112 FORMAT (2X,'CC(',I2,')=',F12.4)
ENDDO
PRINT 113
113 FORMAT(9X ,'X',19X,'Y')
DO J=3,N
Z(0,J)=Y(J)
M=0
10 M=M+1
Z(M,J)=Y(J-1)+H/24*(9*F(X(J),Y(J))+19*F(X(J-1),Y(J-1))-5*F(X(J-2),Y(J-
2))+F(X(J-3),Y(J-3)))
Y(J)=Z(M,J)
!CALCULAMOS LA TOLERANCIA
EE=ABS(Z(M,J)-Z(M-1,J)) !ERROR ENCONTRADO
IF (EE.GT.TOL) THEN
GOTO 10
END IF
Y(J+1)=Z(M,J)
PRINT*, X(J),Y(J)
ENDDO
PRINT*,''
PRINT*,' POR LO TANTO,LUEGO DE LAS ITERACIONES OBTENEMOS:'
PRINT*,''
WRITE (*,121) X(N),Y(N)
121 FORMAT (10X,'Y(',F7.2,')=',F12.4)
PRINT*,''
END PROGRAM
FUNCTION F(X,Y)
F=4*Y+COS(X**2)
!F=-9.8*Y*SIN(X)/(0.00145*(Y**2)-9.8*COS(X))
RETURN
END FUNCTION
PROGRAM ADAMS_MOULTON
PARAMETER (IDM=150)
DIMENSION Z(IDM,IDM),X(IDM), Y(IDM),R(IDM)
REAL H,M,N,TOL
DIMENSION CC(4)
REAL ,PARAMETER::CC=(/9.0,19.0,-5.0,1.0/)
PRINT*,''
PRINT*, '=========================================================='
PRINT*,'METHOD DE ADAMS-MOULTON-PARA EDO DE LA FORMA DY/DX=F(X,Y)'
PRINT*,'============================================================
'
PRINT*,''
PRINT*,'INGRESAR EL NUMBER DE PUNTOS'
READ(5,*)N
PRINT*, 'INGRESAR LOS VALORES INICIALES X0 E Y0'
READ*, X(0),Y(0)
PRINT*, 'INGRESAR H'
READ*, H
PRINT*, 'INGRESAR TOLERANCIA'
READ*, TOL
PRINT*,('*',I=1,79)
PRINT '(5X,"RESULTADOS")'
PRINT*,('*',I=1,79)
!APLICANDO EULER- CAUCHY MEJORADO
PRINT 90
90 FORMAT(3X,'EULER-CAUCHY APROXIMATION MEJORADA:'/)
PRINT 100
100 FORMAT(7X,'ITERATION',5X ,'X',16X,'Y')
DO I=1,N
X(I)=X(0)+I*H
ENDDO
PRINT*,0,X(0),Y(0)
DO J=1,3
R(J)= Y(J-1)+H*F(X(J-1),Y(J-1))
Y(J)=Y(J-1)+(0.5)*H*(F(X(J-1),Y(J-1))+F(X(J),R(J)))
PRINT*,J,X(J),Y(J)
END DO
PRINT*,''
PRINT 110
110 FORMAT(/3X,'METHOD DE ADMS MOULT:'/)
DO I=1,4
WRITE (*,112)I,CC(I)
112 FORMAT (2X,'CC(',I2,')=',F12.4)
ENDDO
PRINT 113
113 FORMAT(9X ,'X',19X,'Y')
DO J=3,N
IF(J.EQ.3)THEN
Z(0,J)=Y(J)
Y(J)=Z(0,J)
ELSE
Z(0,J)=Y(J-1)
Y(J)=Z(0,J)
ENDIF
M=0
10 M=M+1
Z(M,J)=Y(J-1)+H/24*(9*F(X(J),Y(J))+19*F(X(J-1),Y(J-1))-5*F(X(J-2),Y(J-
2))+F(X(J-3),Y(J-3)))
Y(J)=Z(M,J)
!CALCULAMOS LA TOLERANCIA
EE=ABS(Z(M,J)-Z(M-1,J)) !ERROR ENCONTRADO
IF (EE.GT.TOL) THEN
GOTO 10
END IF
PRINT*, X(J),Y(J)
ENDDO
PRINT*,''
PRINT*,' POR LO TANTO,LUEGO DE LAS ITERACIONES OBTENEMOS:'
PRINT*,''
WRITE (*,121) X(N),Y(N)
121 FORMAT (10X,'Y(',F7.2,')=',F12.4)
PRINT*,''
END PROGRAM
FUNCTION F(X,Y)
F=4*Y+COS(X**2)
!F=-9.8*Y*SIN(X)/(0.00145*(Y**2)-9.8*COS(X))
RETURN
END FUNCTION
PROBLEMA 2
Elaborar una codificación por el método predictor corrector, y hallar la solución
de la siguiente ecuación diferencial.
Y’=4y+cos(x2), considere: x0=0, y0=1.2, xf=1, n=10, tol=0.01.
SOLUCIÓN:
PROGRAM PREDICTOR_CORRECTOR
PARAMETER (IDM=150)
DIMENSION Z(IDM,IDM),X(IDM), Y(IDM),R(IDM)
REAL H,M,N,TOL
DIMENSION CP(4),CC(4)
REAL ,PARAMETER::CP=(/55.0,-59.0,37.0,-9.0/)
REAL ,PARAMETER::CC=(/9.0,19.0,-5.0,1.0/)
PRINT*,''
PRINT*, '=========================================================='
PRINT*,'METHOD DE ADAMS-MOULTON-BASHFORTH PARA EDO DE LA FORMA
DY/DX=F(X,Y)'
PRINT*,'============================================================
'
PRINT*,''
PRINT*,'INGRESAR EL NUMBER DE PUNTOS'
READ(5,*)N
PRINT*, 'INGRESAR LOS VALORES INICIALES X0 E Y0'
READ*, X(0),Y(0)
PRINT*, 'INGRESAR H'
READ*, H
PRINT*, 'INGRESAR TOLERANCIA'
READ*, TOL
PRINT*,('*',I=1,79)
PRINT '(5X,"RESULTADOS")'
PRINT*,('*',I=1,79)
!APLICANDO EULER- CAUCHY MEJORADO
PRINT 90
90 FORMAT(3X,'EULER-CAUCHY APROXIMATION MEJORADA:'/)
PRINT 100
100 FORMAT(7X,'ITERATION',5X ,'X',16X,'Y')
DO I=1,N
X(I)=X(0)+I*H
ENDDO
PRINT*,0,X(0),Y(0)
DO J=1,3
R(J)= Y(J-1)+H*F(X(J-1),Y(J-1))
Y(J)=Y(J-1)+(0.5)*H*(F(X(J-1),Y(J-1))+F(X(J),R(J)))
PRINT*,J,X(J),Y(J)
END DO
PRINT*,''
PRINT 110
110 FORMAT(/3X,'PROCEDIMIENTO PREDICTOR-CORRECTOR:'/)
DO J=1,4
WRITE (*,111)J,CP(J)
111 FORMAT (2X,'CP(',I2,')=',F12.4)
ENDDO
PRINT*,''
DO I=1,4
WRITE (*,112)I,CC(I)
112 FORMAT (2X,'CC(',I2,')=',F12.4)
ENDDO
PRINT 113
113 FORMAT(9X ,'X',19X,'Y')
DO J=4,N
Z(0,J)=Y(J-1)+H/24*(55*F(X(J-1),Y(J-1))-59*F(X(J-2),Y(J-2))+37*F(X(J-3),Y(J-
3))-9*F(X(J-4),Y(J-4)))
Y(J)=Z(0,J)
M=0
10 M=M+1
Z(M,J)=Y(J-1)+H/24*(9*F(X(J),Y(J))+19*F(X(J-1),Y(J-1))-5*F(X(J-2),Y(J-
2))+F(X(J-3),Y(J-3)))
Y(J)=Z(M,J)
!CALCULAMOS LA TOLERANCIA
EE=ABS(Z(M,J)-Z(M-1,J)) !ERROR ENCONTRADO
IF (EE.GT.TOL) THEN
GOTO 10
END IF
PRINT*, X(J),Y(J)
ENDDO
PRINT*,''
PRINT*,' POR LO TANTO,LUEGO DE LAS ITERACIONES OBTENEMOS:'
PRINT*,''
WRITE (*,121) X(N),Y(N)
121 FORMAT (10X,'Y(',F7.2,')=',F12.4)
PRINT*,''
END PROGRAM
FUNCTION F(X,Y)
F=4*Y+COS(X**2)
!F=-9.8*Y*SIN(X)/(0.00145*(Y**2)-9.8*COS(X))
RETURN
END FUNCTION
PROBLEMA 3
Elaborar una codificaciónpara el Método de Stormer-Verlet pero adaptado por el método
de cambio de variable a una ecuación diferencial de segundo orden; luego resolver los
siguientes problemas:
a) Resolver la ecuación diferencial: Y”=5XY’+COS(Y),considere lo siguiente x0=0,
y0=1.7; x1=0.1,y1=1.715; xf=1, tol=0.01.
SOLUCIÓN:
PROGRAM STORMER_VERLET
PARAMETER (IDM=100)
DIMENSION X(IDM), Y(IDM)
REAL H,N,DY,B,EE,TOL
PRINT*,''
PRINT*,
'==================================================================
==='
PRINT*,'METHOD DE STORMER VERLET PARA EDO'
PRINT*,'DE SEGUNDO ORDEN CON CONDICIONES INICIALES'
PRINT*,'============================================================
=========='
PRINT*,''
PRINT*,'INGRESAR EL NUMERO DE PUNTOS N'
READ(5,*)N
PRINT*, 'INGRESAR LOS VALORES INICIALES X0 E Y0'
READ*, X(0),Y(0)
PRINT*, 'INGRESAR LOS VALORES INICIALES X1 E Y1'
READ*, X(1),Y(1)
PRINT*, 'INGRESAR H'
READ*, H
PRINT*, 'INGRESAR LA TOL'
READ*, TOL
PRINT*,''
PRINT*,('*',I=1,79)
PRINT '(5X,"RESULTADOS")'
PRINT*,('*',I=1,79)
PRINT*,''
PRINT 100
100 FORMAT(11X,'N',7X ,'X(N)',14X,'Y(N)')
DO I=2,N
X(I)=X(0)+I*H
ENDDO
PRINT*,0,X(0),Y(0)
PRINT*,1,X(1),Y(1)
DO J=2,N
A=Y(J-1)
10 DY=0.5*(A-Y(J-2))/H
B=F(X(J-1),Y(J-1),DY)
Y(J)=2*Y(J-1)-Y(J-2)+B*H**2
EE=ABS(Y(J)-A) !ERROR ENCONTRADO
IF (EE.GT.TOL) THEN
A=(Y(J)+A)/2
GOTO 10
END IF
PRINT*,J,X(J),Y(J)
END DO
PRINT*,''
PRINT*,' POR LO TANTO,LUEGO DE LAS ITERACIONES OBTENEMOS:'
PRINT*,''
WRITE (*,121) X(N),Y(N)
121 FORMAT (10X,'Y(',F7.2,')=',F12.4)
PRINT*,''
END PROGRAM
FUNCTION F(X,Y,Z)
F=5*X*Z+COS(Y)
RETURN
END FUNCTION
PROBLEMA 4
Elaborar una codificación por el Método de Numerov, y hallar la solución de la siguiente
ecuación diferencial de segundo orden:
Y”=3XY+5 COS(2X),considere: x0=0,y0=1.8; x1=0.1, y1=1.825; xf=1
PROGRAM NUMEROV
PARAMETER (IDM=100)
DIMENSION X(IDM), Y(IDM)
REAL H,N,A,B,C,D
PRINT*,''
PRINT*,
'====================================================================
='
PRINT*,'METHOD DE NUMEROV PARA EDOS DE SEGUNDO ORDEN CON
CONDICIONES INICIALES'
PRINT*,'==============================================================
========'
PRINT*,''
PRINT*,'INGRESAR EL NUMERO DE PUNTOS N'
READ(5,*)N
PRINT*, 'INGRESAR LOS VALORES INICIALES X0 E Y0'
READ*, X(0),Y(0)
PRINT*, 'INGRESAR LOS VALORES INICIALES X1 E Y1'
READ*, X(1),Y(1)
PRINT*, 'INGRESAR H'
READ*, H
PRINT*,''
PRINT*,('*',I=1,79)
PRINT '(5X,"RESULTADOS")'
PRINT*,('*',I=1,79)
PRINT*,''
PRINT 100
100 FORMAT(5X,'ITERATION',5X ,'X',16X,'Y')
DO I=2,N
X(I)=X(0)+I*H
ENDDO
PRINT*,0,X(0),Y(0)
PRINT*,1,X(1),Y(1)
DO J=2,N
A=1+(G(X(J))*H**2)/12
B=1-(G(X(J-1))*H**2)*5/12
C=1+(G(X(J-2))*H**2)/12
D=((S(X(J))+10*S(X(J-1))+S(X(J-2)))/12)*H**2
Y(J)=(2*Y(J-1)*B-Y(J-2)*C+D)/A
PRINT*,J,X(J),Y(J)
END DO
PRINT*,''
PRINT*,''
PRINT*,' POR LO TANTO,LUEGO DE LAS ITERACIONES OBTENEMOS:'
PRINT*,''
WRITE (*,121) X(N),Y(N)
121 FORMAT (10X,'Y(',F7.2,')=',F12.4)
PRINT*,''
END PROGRAM
FUNCTION G(X)
G=-3*X
RETURN
END FUNCTION
FUNCTION S(X)
S=5*COS(2*X)
RETURN
END FUNCTION
Vibraciones mecánicas aplicación instrumento sísmico usando FORTRAN 90

Más contenido relacionado

La actualidad más candente

mecánica de suelos 2-Esfuerzos transmitidos
mecánica de suelos 2-Esfuerzos transmitidosmecánica de suelos 2-Esfuerzos transmitidos
mecánica de suelos 2-Esfuerzos transmitidosEricArturoTorresRoza
 
Capítulo 5 distribución de esfuerzos en el suelo debido a cargas
Capítulo 5   distribución de esfuerzos en el suelo debido a cargasCapítulo 5   distribución de esfuerzos en el suelo debido a cargas
Capítulo 5 distribución de esfuerzos en el suelo debido a cargasClemer David Maquera Flores
 
Solucionario de mecanica de materiales 6ta edicion r. c. hibbeler
Solucionario de mecanica de materiales 6ta edicion   r. c. hibbelerSolucionario de mecanica de materiales 6ta edicion   r. c. hibbeler
Solucionario de mecanica de materiales 6ta edicion r. c. hibbelerlyedilmer
 
Productos de inercia ejes rotados
Productos de inercia ejes rotadosProductos de inercia ejes rotados
Productos de inercia ejes rotadosSegundo Espín
 
215604050 esfuerzos-demostracion
215604050 esfuerzos-demostracion215604050 esfuerzos-demostracion
215604050 esfuerzos-demostracionMichel Rodriguez
 
metodos energeticos
metodos energeticosmetodos energeticos
metodos energeticosJimmi Cari
 
CALCULO DE REACCIONES DE EMPOTRAMIENTO PERFECTO EN VIGAS HORIZONTALES CON CA...
CALCULO DE REACCIONES DE EMPOTRAMIENTO PERFECTO EN VIGAS HORIZONTALES  CON CA...CALCULO DE REACCIONES DE EMPOTRAMIENTO PERFECTO EN VIGAS HORIZONTALES  CON CA...
CALCULO DE REACCIONES DE EMPOTRAMIENTO PERFECTO EN VIGAS HORIZONTALES CON CA...Alexandra Benítez
 
Perdidas secundarias(practica10
Perdidas secundarias(practica10Perdidas secundarias(practica10
Perdidas secundarias(practica1020_masambriento
 
Sistemas dinámicos varios grados de libertad
Sistemas dinámicos varios grados de libertadSistemas dinámicos varios grados de libertad
Sistemas dinámicos varios grados de libertadJulio Rayme Moroco
 
Criterios de falla
Criterios de fallaCriterios de falla
Criterios de fallaJuana1415
 

La actualidad más candente (20)

Antologia viscosidad.
Antologia viscosidad.Antologia viscosidad.
Antologia viscosidad.
 
mecánica de suelos 2-Esfuerzos transmitidos
mecánica de suelos 2-Esfuerzos transmitidosmecánica de suelos 2-Esfuerzos transmitidos
mecánica de suelos 2-Esfuerzos transmitidos
 
Capítulo 5 distribución de esfuerzos en el suelo debido a cargas
Capítulo 5   distribución de esfuerzos en el suelo debido a cargasCapítulo 5   distribución de esfuerzos en el suelo debido a cargas
Capítulo 5 distribución de esfuerzos en el suelo debido a cargas
 
Solucionario de mecanica de materiales 6ta edicion r. c. hibbeler
Solucionario de mecanica de materiales 6ta edicion   r. c. hibbelerSolucionario de mecanica de materiales 6ta edicion   r. c. hibbeler
Solucionario de mecanica de materiales 6ta edicion r. c. hibbeler
 
Productos de inercia ejes rotados
Productos de inercia ejes rotadosProductos de inercia ejes rotados
Productos de inercia ejes rotados
 
215604050 esfuerzos-demostracion
215604050 esfuerzos-demostracion215604050 esfuerzos-demostracion
215604050 esfuerzos-demostracion
 
metodos energeticos
metodos energeticosmetodos energeticos
metodos energeticos
 
Método de Trabajo Virtual
Método de Trabajo VirtualMétodo de Trabajo Virtual
Método de Trabajo Virtual
 
CALCULO DE REACCIONES DE EMPOTRAMIENTO PERFECTO EN VIGAS HORIZONTALES CON CA...
CALCULO DE REACCIONES DE EMPOTRAMIENTO PERFECTO EN VIGAS HORIZONTALES  CON CA...CALCULO DE REACCIONES DE EMPOTRAMIENTO PERFECTO EN VIGAS HORIZONTALES  CON CA...
CALCULO DE REACCIONES DE EMPOTRAMIENTO PERFECTO EN VIGAS HORIZONTALES CON CA...
 
Perdidas secundarias(practica10
Perdidas secundarias(practica10Perdidas secundarias(practica10
Perdidas secundarias(practica10
 
Esfuerzos en suelos 2013
Esfuerzos en suelos   2013Esfuerzos en suelos   2013
Esfuerzos en suelos 2013
 
Sistemas dinámicos varios grados de libertad
Sistemas dinámicos varios grados de libertadSistemas dinámicos varios grados de libertad
Sistemas dinámicos varios grados de libertad
 
Esfuerzo cortante
Esfuerzo cortanteEsfuerzo cortante
Esfuerzo cortante
 
orificios de descarga libre
orificios de descarga libreorificios de descarga libre
orificios de descarga libre
 
Informe mecanica de suelos consolidacion unidimensional final
Informe mecanica de suelos consolidacion unidimensional finalInforme mecanica de suelos consolidacion unidimensional final
Informe mecanica de suelos consolidacion unidimensional final
 
Elasticidad
ElasticidadElasticidad
Elasticidad
 
Criterios de falla
Criterios de fallaCriterios de falla
Criterios de falla
 
Mecanica fluidos 6
Mecanica fluidos 6Mecanica fluidos 6
Mecanica fluidos 6
 
Teoría de Vibraciones
Teoría de VibracionesTeoría de Vibraciones
Teoría de Vibraciones
 
Mecánica de Rocas
Mecánica de RocasMecánica de Rocas
Mecánica de Rocas
 

Destacado

Jacobi y Gauss Seidel
Jacobi y Gauss SeidelJacobi y Gauss Seidel
Jacobi y Gauss Seideljoselolozano
 
MÉTODO ITERATIVO DE GAUSS_SEIDEL USANDO FORTRAN 90, MATLAB Y SCILAB
MÉTODO ITERATIVO DE GAUSS_SEIDEL USANDO FORTRAN 90, MATLAB Y SCILABMÉTODO ITERATIVO DE GAUSS_SEIDEL USANDO FORTRAN 90, MATLAB Y SCILAB
MÉTODO ITERATIVO DE GAUSS_SEIDEL USANDO FORTRAN 90, MATLAB Y SCILABMarco Antonio
 
Teoría de un método Iterativo
Teoría de un método IterativoTeoría de un método Iterativo
Teoría de un método IterativoErik Orozco Valles
 
Lenguaje de programación Fortrar
Lenguaje de programación FortrarLenguaje de programación Fortrar
Lenguaje de programación FortrarEric Avendaño
 
Fortran 90 con métodos numéricos
Fortran 90 con métodos numéricosFortran 90 con métodos numéricos
Fortran 90 con métodos numéricosMarco Antonio
 
Método de gauss seidel
Método de gauss seidelMétodo de gauss seidel
Método de gauss seidelmariacadena
 
Algoritmos para matlab
Algoritmos para matlabAlgoritmos para matlab
Algoritmos para matlabVitoto96
 
METODOS NUMERICOS para ingenieria -Chapra
METODOS NUMERICOS para ingenieria -ChapraMETODOS NUMERICOS para ingenieria -Chapra
METODOS NUMERICOS para ingenieria -ChapraAdriana Oleas
 

Destacado (12)

Códigomatlabgaussseidel
CódigomatlabgaussseidelCódigomatlabgaussseidel
Códigomatlabgaussseidel
 
Jacobi y Gauss Seidel
Jacobi y Gauss SeidelJacobi y Gauss Seidel
Jacobi y Gauss Seidel
 
Práctica de métodos numéricos
Práctica de métodos numéricosPráctica de métodos numéricos
Práctica de métodos numéricos
 
Manual fortran
Manual fortranManual fortran
Manual fortran
 
MÉTODO ITERATIVO DE GAUSS_SEIDEL USANDO FORTRAN 90, MATLAB Y SCILAB
MÉTODO ITERATIVO DE GAUSS_SEIDEL USANDO FORTRAN 90, MATLAB Y SCILABMÉTODO ITERATIVO DE GAUSS_SEIDEL USANDO FORTRAN 90, MATLAB Y SCILAB
MÉTODO ITERATIVO DE GAUSS_SEIDEL USANDO FORTRAN 90, MATLAB Y SCILAB
 
Teoría de un método Iterativo
Teoría de un método IterativoTeoría de un método Iterativo
Teoría de un método Iterativo
 
Lenguaje de programación Fortrar
Lenguaje de programación FortrarLenguaje de programación Fortrar
Lenguaje de programación Fortrar
 
Métodos de prueba
Métodos de pruebaMétodos de prueba
Métodos de prueba
 
Fortran 90 con métodos numéricos
Fortran 90 con métodos numéricosFortran 90 con métodos numéricos
Fortran 90 con métodos numéricos
 
Método de gauss seidel
Método de gauss seidelMétodo de gauss seidel
Método de gauss seidel
 
Algoritmos para matlab
Algoritmos para matlabAlgoritmos para matlab
Algoritmos para matlab
 
METODOS NUMERICOS para ingenieria -Chapra
METODOS NUMERICOS para ingenieria -ChapraMETODOS NUMERICOS para ingenieria -Chapra
METODOS NUMERICOS para ingenieria -Chapra
 

Similar a Vibraciones mecánicas aplicación instrumento sísmico usando FORTRAN 90

Unidad 01 fundamentos y modelamiento 1
Unidad 01 fundamentos y modelamiento 1Unidad 01 fundamentos y modelamiento 1
Unidad 01 fundamentos y modelamiento 1kevin cordova
 
Introducción Vibraciones Mecánicas Movimiento Armónico Simple
Introducción Vibraciones Mecánicas Movimiento Armónico SimpleIntroducción Vibraciones Mecánicas Movimiento Armónico Simple
Introducción Vibraciones Mecánicas Movimiento Armónico SimpleAarnCrdovaSurez1
 
Vibraciones Mecánicas en Ingenieria. pptx
Vibraciones Mecánicas en Ingenieria. pptxVibraciones Mecánicas en Ingenieria. pptx
Vibraciones Mecánicas en Ingenieria. pptxIsaAndrade25
 
Vibraciones Mecánicas en Ingenieria en Mecatronica
Vibraciones Mecánicas en Ingenieria en MecatronicaVibraciones Mecánicas en Ingenieria en Mecatronica
Vibraciones Mecánicas en Ingenieria en MecatronicaIsaAndrade25
 
Oscilaciones amortiguadas y forzadas
Oscilaciones amortiguadas y forzadasOscilaciones amortiguadas y forzadas
Oscilaciones amortiguadas y forzadasEduardo Cueva Flores
 
Movimiento armonico simple
Movimiento armonico simpleMovimiento armonico simple
Movimiento armonico simpleluisv9616
 
264287293-Unidad-3-Vibraciones-de-Sistemas-de-Un-Grado-de-Libertad-Con-Excita...
264287293-Unidad-3-Vibraciones-de-Sistemas-de-Un-Grado-de-Libertad-Con-Excita...264287293-Unidad-3-Vibraciones-de-Sistemas-de-Un-Grado-de-Libertad-Con-Excita...
264287293-Unidad-3-Vibraciones-de-Sistemas-de-Un-Grado-de-Libertad-Con-Excita...LuisRamonRamonCanela
 
Vibraciones Mecánicas, Resumido así nomás.pptx
Vibraciones Mecánicas, Resumido así nomás.pptxVibraciones Mecánicas, Resumido así nomás.pptx
Vibraciones Mecánicas, Resumido así nomás.pptxAllanEfrainSantosMac1
 
Vibraciones
VibracionesVibraciones
Vibracioneszamo30
 
DINAMICA ROTACIONA y ELASTICIDAD - MOVIMIENTO OSCILATORIO - M.A.S
DINAMICA ROTACIONA y ELASTICIDAD - MOVIMIENTO OSCILATORIO - M.A.SDINAMICA ROTACIONA y ELASTICIDAD - MOVIMIENTO OSCILATORIO - M.A.S
DINAMICA ROTACIONA y ELASTICIDAD - MOVIMIENTO OSCILATORIO - M.A.SJOSE LEAL OVIEDO
 
Explicacion teorica de Trabajo y Energía en el Movimiento:Armónico Simple; Ro...
Explicacion teorica de Trabajo y Energía en el Movimiento:Armónico Simple; Ro...Explicacion teorica de Trabajo y Energía en el Movimiento:Armónico Simple; Ro...
Explicacion teorica de Trabajo y Energía en el Movimiento:Armónico Simple; Ro...alejandro vargas
 

Similar a Vibraciones mecánicas aplicación instrumento sísmico usando FORTRAN 90 (20)

Unidad 01 fundamentos y modelamiento 1
Unidad 01 fundamentos y modelamiento 1Unidad 01 fundamentos y modelamiento 1
Unidad 01 fundamentos y modelamiento 1
 
Introducción Vibraciones Mecánicas Movimiento Armónico Simple
Introducción Vibraciones Mecánicas Movimiento Armónico SimpleIntroducción Vibraciones Mecánicas Movimiento Armónico Simple
Introducción Vibraciones Mecánicas Movimiento Armónico Simple
 
Vibraciones Mecánicas en Ingenieria. pptx
Vibraciones Mecánicas en Ingenieria. pptxVibraciones Mecánicas en Ingenieria. pptx
Vibraciones Mecánicas en Ingenieria. pptx
 
Vibraciones Mecánicas en Ingenieria en Mecatronica
Vibraciones Mecánicas en Ingenieria en MecatronicaVibraciones Mecánicas en Ingenieria en Mecatronica
Vibraciones Mecánicas en Ingenieria en Mecatronica
 
13
1313
13
 
Laboratorio resortes
Laboratorio resortesLaboratorio resortes
Laboratorio resortes
 
Vibraciones y ondas
Vibraciones y ondasVibraciones y ondas
Vibraciones y ondas
 
Oscilaciones amortiguadas y forzadas
Oscilaciones amortiguadas y forzadasOscilaciones amortiguadas y forzadas
Oscilaciones amortiguadas y forzadas
 
Movimiento armonico simple
Movimiento armonico simpleMovimiento armonico simple
Movimiento armonico simple
 
Semana 8 movimiento armonico simple
Semana 8  movimiento armonico simpleSemana 8  movimiento armonico simple
Semana 8 movimiento armonico simple
 
Semana 8mod
Semana 8modSemana 8mod
Semana 8mod
 
264287293-Unidad-3-Vibraciones-de-Sistemas-de-Un-Grado-de-Libertad-Con-Excita...
264287293-Unidad-3-Vibraciones-de-Sistemas-de-Un-Grado-de-Libertad-Con-Excita...264287293-Unidad-3-Vibraciones-de-Sistemas-de-Un-Grado-de-Libertad-Con-Excita...
264287293-Unidad-3-Vibraciones-de-Sistemas-de-Un-Grado-de-Libertad-Con-Excita...
 
Vibraciones Mecánicas, Resumido así nomás.pptx
Vibraciones Mecánicas, Resumido así nomás.pptxVibraciones Mecánicas, Resumido así nomás.pptx
Vibraciones Mecánicas, Resumido así nomás.pptx
 
7 ap oscond1011
7 ap oscond10117 ap oscond1011
7 ap oscond1011
 
Movimiento ondulatorio
Movimiento ondulatorioMovimiento ondulatorio
Movimiento ondulatorio
 
7 ap oscond1011
7 ap oscond10117 ap oscond1011
7 ap oscond1011
 
Vibraciones
VibracionesVibraciones
Vibraciones
 
DINAMICA ROTACIONA y ELASTICIDAD - MOVIMIENTO OSCILATORIO - M.A.S
DINAMICA ROTACIONA y ELASTICIDAD - MOVIMIENTO OSCILATORIO - M.A.SDINAMICA ROTACIONA y ELASTICIDAD - MOVIMIENTO OSCILATORIO - M.A.S
DINAMICA ROTACIONA y ELASTICIDAD - MOVIMIENTO OSCILATORIO - M.A.S
 
Explicacion teorica de Trabajo y Energía en el Movimiento:Armónico Simple; Ro...
Explicacion teorica de Trabajo y Energía en el Movimiento:Armónico Simple; Ro...Explicacion teorica de Trabajo y Energía en el Movimiento:Armónico Simple; Ro...
Explicacion teorica de Trabajo y Energía en el Movimiento:Armónico Simple; Ro...
 
fisica
fisicafisica
fisica
 

Más de Marco Antonio

DIVISIÓN POLINÓMICA
DIVISIÓN POLINÓMICADIVISIÓN POLINÓMICA
DIVISIÓN POLINÓMICAMarco Antonio
 
Interpolación aritmética
Interpolación aritméticaInterpolación aritmética
Interpolación aritméticaMarco Antonio
 
PREFIJOS DEL SISTEMA MÉTRICO
PREFIJOS DEL SISTEMA MÉTRICOPREFIJOS DEL SISTEMA MÉTRICO
PREFIJOS DEL SISTEMA MÉTRICOMarco Antonio
 
EXAMEN DE SUBSANACIÓN DE ÁLGEBRA
EXAMEN DE SUBSANACIÓN DE ÁLGEBRAEXAMEN DE SUBSANACIÓN DE ÁLGEBRA
EXAMEN DE SUBSANACIÓN DE ÁLGEBRAMarco Antonio
 
Prefijos del sistema internacional
Prefijos del sistema internacionalPrefijos del sistema internacional
Prefijos del sistema internacionalMarco Antonio
 
monthly exam of algebra
monthly exam of algebramonthly exam of algebra
monthly exam of algebraMarco Antonio
 
Problemas resueltos de Factorización
Problemas resueltos de FactorizaciónProblemas resueltos de Factorización
Problemas resueltos de FactorizaciónMarco Antonio
 
solucionario del examen de álgebra
solucionario del examen de álgebrasolucionario del examen de álgebra
solucionario del examen de álgebraMarco Antonio
 
Examen Bimestral de Aritmética 5° de primaria
Examen Bimestral de Aritmética 5° de primariaExamen Bimestral de Aritmética 5° de primaria
Examen Bimestral de Aritmética 5° de primariaMarco Antonio
 
Examen Bimestral de Aritmética 6° de primaria
Examen Bimestral de Aritmética 6° de primariaExamen Bimestral de Aritmética 6° de primaria
Examen Bimestral de Aritmética 6° de primariaMarco Antonio
 
Brevísima historia de Arquímedes
Brevísima historia de ArquímedesBrevísima historia de Arquímedes
Brevísima historia de ArquímedesMarco Antonio
 
El principio de Le Chatelier
El principio de Le Chatelier El principio de Le Chatelier
El principio de Le Chatelier Marco Antonio
 
COMPARACIÓN DE LOS MÉTODOS ITERATIVOS DE RUNGE KUTTA 2 ORDEN CON RUNGR KUTTA ...
COMPARACIÓN DE LOS MÉTODOS ITERATIVOS DE RUNGE KUTTA 2 ORDEN CON RUNGR KUTTA ...COMPARACIÓN DE LOS MÉTODOS ITERATIVOS DE RUNGE KUTTA 2 ORDEN CON RUNGR KUTTA ...
COMPARACIÓN DE LOS MÉTODOS ITERATIVOS DE RUNGE KUTTA 2 ORDEN CON RUNGR KUTTA ...Marco Antonio
 
MÉTODO DE RUNGE KUTTA DE 4 ORDEN PARA RESOLVER UNA ECUACIÓN DIFERENCIAL DE SE...
MÉTODO DE RUNGE KUTTA DE 4 ORDEN PARA RESOLVER UNA ECUACIÓN DIFERENCIAL DE SE...MÉTODO DE RUNGE KUTTA DE 4 ORDEN PARA RESOLVER UNA ECUACIÓN DIFERENCIAL DE SE...
MÉTODO DE RUNGE KUTTA DE 4 ORDEN PARA RESOLVER UNA ECUACIÓN DIFERENCIAL DE SE...Marco Antonio
 
COMPARACIÓN DE LOS MÉTODOS ITERATIVOS ADAMAS-BALTHOR-MOULT PREDICTOR CORRECTO...
COMPARACIÓN DE LOS MÉTODOS ITERATIVOS ADAMAS-BALTHOR-MOULT PREDICTOR CORRECTO...COMPARACIÓN DE LOS MÉTODOS ITERATIVOS ADAMAS-BALTHOR-MOULT PREDICTOR CORRECTO...
COMPARACIÓN DE LOS MÉTODOS ITERATIVOS ADAMAS-BALTHOR-MOULT PREDICTOR CORRECTO...Marco Antonio
 
Sesion multiplexores y demultiplexores
Sesion  multiplexores y demultiplexores Sesion  multiplexores y demultiplexores
Sesion multiplexores y demultiplexores Marco Antonio
 
Sesion contadores y registros
Sesion  contadores y registrosSesion  contadores y registros
Sesion contadores y registrosMarco Antonio
 

Más de Marco Antonio (20)

DIVISIÓN POLINÓMICA
DIVISIÓN POLINÓMICADIVISIÓN POLINÓMICA
DIVISIÓN POLINÓMICA
 
Interpolación aritmética
Interpolación aritméticaInterpolación aritmética
Interpolación aritmética
 
PREFIJOS DEL SISTEMA MÉTRICO
PREFIJOS DEL SISTEMA MÉTRICOPREFIJOS DEL SISTEMA MÉTRICO
PREFIJOS DEL SISTEMA MÉTRICO
 
EXAMEN DE SUBSANACIÓN DE ÁLGEBRA
EXAMEN DE SUBSANACIÓN DE ÁLGEBRAEXAMEN DE SUBSANACIÓN DE ÁLGEBRA
EXAMEN DE SUBSANACIÓN DE ÁLGEBRA
 
Prefijos del sistema internacional
Prefijos del sistema internacionalPrefijos del sistema internacional
Prefijos del sistema internacional
 
monthly exam of algebra
monthly exam of algebramonthly exam of algebra
monthly exam of algebra
 
Factorización
FactorizaciónFactorización
Factorización
 
Problemas resueltos de Factorización
Problemas resueltos de FactorizaciónProblemas resueltos de Factorización
Problemas resueltos de Factorización
 
solucionario del examen de álgebra
solucionario del examen de álgebrasolucionario del examen de álgebra
solucionario del examen de álgebra
 
Examen Bimestral de Aritmética 5° de primaria
Examen Bimestral de Aritmética 5° de primariaExamen Bimestral de Aritmética 5° de primaria
Examen Bimestral de Aritmética 5° de primaria
 
Examen Bimestral de Aritmética 6° de primaria
Examen Bimestral de Aritmética 6° de primariaExamen Bimestral de Aritmética 6° de primaria
Examen Bimestral de Aritmética 6° de primaria
 
Brevísima historia de Arquímedes
Brevísima historia de ArquímedesBrevísima historia de Arquímedes
Brevísima historia de Arquímedes
 
El principio de Le Chatelier
El principio de Le Chatelier El principio de Le Chatelier
El principio de Le Chatelier
 
Arquímedes
ArquímedesArquímedes
Arquímedes
 
COMPARACIÓN DE LOS MÉTODOS ITERATIVOS DE RUNGE KUTTA 2 ORDEN CON RUNGR KUTTA ...
COMPARACIÓN DE LOS MÉTODOS ITERATIVOS DE RUNGE KUTTA 2 ORDEN CON RUNGR KUTTA ...COMPARACIÓN DE LOS MÉTODOS ITERATIVOS DE RUNGE KUTTA 2 ORDEN CON RUNGR KUTTA ...
COMPARACIÓN DE LOS MÉTODOS ITERATIVOS DE RUNGE KUTTA 2 ORDEN CON RUNGR KUTTA ...
 
MÉTODO DE RUNGE KUTTA DE 4 ORDEN PARA RESOLVER UNA ECUACIÓN DIFERENCIAL DE SE...
MÉTODO DE RUNGE KUTTA DE 4 ORDEN PARA RESOLVER UNA ECUACIÓN DIFERENCIAL DE SE...MÉTODO DE RUNGE KUTTA DE 4 ORDEN PARA RESOLVER UNA ECUACIÓN DIFERENCIAL DE SE...
MÉTODO DE RUNGE KUTTA DE 4 ORDEN PARA RESOLVER UNA ECUACIÓN DIFERENCIAL DE SE...
 
COMPARACIÓN DE LOS MÉTODOS ITERATIVOS ADAMAS-BALTHOR-MOULT PREDICTOR CORRECTO...
COMPARACIÓN DE LOS MÉTODOS ITERATIVOS ADAMAS-BALTHOR-MOULT PREDICTOR CORRECTO...COMPARACIÓN DE LOS MÉTODOS ITERATIVOS ADAMAS-BALTHOR-MOULT PREDICTOR CORRECTO...
COMPARACIÓN DE LOS MÉTODOS ITERATIVOS ADAMAS-BALTHOR-MOULT PREDICTOR CORRECTO...
 
Sesion multiplexores y demultiplexores
Sesion  multiplexores y demultiplexores Sesion  multiplexores y demultiplexores
Sesion multiplexores y demultiplexores
 
Sesion flips flops
Sesion  flips flopsSesion  flips flops
Sesion flips flops
 
Sesion contadores y registros
Sesion  contadores y registrosSesion  contadores y registros
Sesion contadores y registros
 

Vibraciones mecánicas aplicación instrumento sísmico usando FORTRAN 90

  • 1. ” Año de la Promoción de la Industria Responsable y Compromiso Climático UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE CIENCIAS NATURALES Y MATEMÁTICA FÍSICA TEÓRICA COMPUTACIONAL I TRABAJO DE EXPOSICIÓN “VIBRACIONES MECÁNICAS-APLICACIÓN INSTRUMENTO SÍSMICO” ALUMNO: MARCO ANTONIO ALPACA CHAMBA ESCUELA PROFESIONAL DE: FÍSICA CON PROBLEMAS ADICIONALES EN FORTRAN 90 24 de Noviembre del 2014 INTRODUCCIÓN
  • 2. Las vibraciones han sido de interés en la ingeniería, por lo menos desde el principio de la revolución industrial. Los movimientos oscilatorios de los motores rotatorios y alternativos someten a sus partes a grandes cargas que deben ser considerados en su diseño. Los operadores y pasajeros de los vehículos movidos por estos motores deben quedar aislados de sus vibraciones. Comenzando con el desarrollo de dispositivos electromecánicos capaces de generar y medir vibraciones mecánicas, tales como altoparlantes y micrófonos, las aplicaciones en ingeniería de las vibraciones han incluido las diversas áreas de la acústica, desde la acústica arquitectónica hasta la detección y análisis de sismos. En este trabajo se considera un sistema vibratorio de un grado de libertad; es decir, la posición, o la configuración, del sistema se especifica con una sola variable. Muchos sistemas vibratorios reales, ya sea con un solo grado de libertad o sus movimientos se pueden modelar por medio de un sistema de un grado de libertad en circunstancias particulares. MARCO TEÓRICO Conceptos básicos de la vibración. Cualquier movimiento que se repite después de un intervalo de tiempo se llama vibración u oscilación. La oscilación de un péndulo y el movimiento de una cuerda pulsada son ejemplos típicos de vibración. La teoría de la vibración tiene que ver con el estudio de los movimientos oscilatorios de los cuerpos y las fuerzas asociadas con ellos Un sistema vibratorio, en general, incluye un medio para almacenar energía potencial (resorte o elasticidad), un medio para almacenar energía cinética (masa o inercia), y un medio por el cual la energía se pierde gradualmente (amortiguador). La vibración de un sistema implica la transformación de su energía potencial en energía cinética y de la energía cinética en energía potencial, alternativamente. Si el sistema se amortigua, una parte de la energía se disipa en cada ciclo de la vibración y debe ser reemplazada por una fuente externa para que se mantenga un estado de vibración constante. Clasificación de la vibración La vibración puede ser clasificada de varias maneras. Algunas de las clasificaciones importantes son como sigue. Vibración libre. Si se deja que un sistemavibre por sí mismo,después de una perturbación inicial, la vibración resultante se conoce como vibración libre. Ninguna fuerza externa actúa sobre el sistema. La oscilación de un péndulo simple es un ejemplo de vibración libre. Vibración forzada. Si un sistema se somete a una fuerza externa (a menudo, un tipo repetitivo de fuerza), la vibración resultante se conoce como vibración forzada. La oscilación que surge en máquinas tales como motores diesel es un ejemplo de vibración forzada. Si la frecuencia de la fuerza externa coincide con una de las frecuencias naturales del sistema, ocurre una condición conocida como resonancia, y el sistema sufre oscilaciones peligrosamente grandes. Las fallas de estructuras tales como edificios, puentes, turbinas, y alas de avión se han asociado con la ocurrencia de resonancia. Vibración no amortiguada y amortiguada Si no se pierde energía o disipa energía por fricción u otra resistencia durante la oscilación, la vibración se conoce como la vibración no amortiguada. Sin embargo, si toda la energía se pierde de esta manera, se llama vibración amortiguada. En muchos sistemas físicos, la cantidad de amortiguamiento es tan pequeña que puede ignorarse en la mayoría de las aplicaciones de la ingeniería. Sin embargo, la consideración del amortiguamiento se vuelve extremadamente importante en el análisis de sistemas vibratorios cerca a la resonancia. Vibración lineal y no lineal: Si todos los componentes básicos de un sistemavibratorio, el resorte, la masa,y el amortiguador, se comportan linealmente, la vibración resultante se conoce como vibración lineal. Pero, si cualquiera de los componentes básicos se comporta de manera no lineal, la vibración se conoce como vibración no lineal. Las ecuaciones diferenciales que rigen el comportamiento de los sistemas vibratorios lineales y no lineales son lineal y no lineal, respectivamente. Si la vibración es lineal, el principio de superposición es válido, y las técnicas matemáticas de análisis están
  • 3. bien desarrolladas. Para vibración no lineal, el principio de superposición no es válido, y las técnicas de análisis son menos conocidas. Dado que todos los sistemas vibratorios tienden a comportarse de forma no lineal al aumentar la amplitud de oscilación, es deseable un conocimiento de la vibración no lineal cuando se trate con sistemas vibratorios prácticos. SISTEMA MASA-RESORTE: MOVIMIENTO FORZADO ECUACIÓN DIFERENCIAL DEL MOVIMIENTO FORZADO CON AMORTIGUAMIENTO En el estudio de la mecánica, las fuerzas amortiguadas que actúan sobre un cuerpo son consideradas proporcionales a una potencia de la velocidad instantánea. Considerando una fuerza externa f(t) que actúa sobre una masa vibrante en un resorte. Por ejemplo, f(t) podría representar una fuerza motriz que usa un movimiento vertical oscilatorio del soporte del resorte ver figura . La inclusión de f(t) en la formulación de la segunda ley de Newton da la ecuación diferencial de movimiento forzado: Al dividir la ecuación entre m, se obtiene: Donde F(t)=f(t)/m y, 2λ=β/m, ω2 =k/m. Para resolver la última ecuación homogénea, se puede usar ya sea el método de coeficientes indeterminados o variación de parámetros. PROBLEMADE APLICACIÓN: INSTRUMENTO SÍSMICO En la figura (1) se muestra un modelo general utilizado para la medición de vibraciones. La base se sujeta al cuerpo, el cual tiene una vibración desconocida Asin(ωt), considere m = 120kg, ω = 5.81778, A = 0.1, k = 400, 𝜔 𝑛 = √ 𝑘 𝑚 y c=𝜔 𝑛 𝑚. Para hallar el movimiento y la velocidad relativa del sistema durante 15 segundos Figura1 SOLUCIÓN:
  • 4. Hacemos el diagrama de cuerpo libre de la masa m. Las fuerzas que actúan sobre la masason la fuerza del resorte y la fuerza de amortiguamiento suponiendo que x1 es mayor x2, la ecuación de movimiento es: Sea el movimiento relativo x1-x2=x, entonces x1=x+x2 y x1’=x’+x2’ y la ecuación de movimiento toma la forma: o bien Pero x2=Asinωt es la vibración del cuerpo libre, sustituyendo tenemos:
  • 5. FIGURA 2: Gráficas del desplazamiento y velocidad de un instrumento sísmico MÉTODO COMPUTACIONAL PROGRAM ADAMS_BASHFORTH PARAMETER (IDM=150) DIMENSION D(IDM,IDM),X(IDM),Y(IDM),F(IDM),Z(IDM),SUM1(IDM),VAL(IDM),VAL1(IDM),SUM2(IDM),R(I DM,IDM) REAL(4) H,P,P1 DIMENSION CP(4) REAL ,PARAMETER::CP=(/55.0,-59.0,37.0,-9.0/) !REAL ,PARAMETER::CC=(/9.0,19.0,-5.0,1.0/) PRINT*, '===================================================================' PRINT*,'METHOD DE ADAMS-BASHFORTH PARAEDO DE LAFORMAy''=F(x,y(x),z) ' PRINT*,'================================================================== ==' PRINT*,'' PRINT*,'INGRESAR EL VALOR DE N' READ(5,*)N PRINT*,'' PRINT*, 'INGRESAR LOS VALORES INICIALES X0 E Y0 Y Z(0)' READ*, X(0),Y(0),Z(0) PRINT*,'' PRINT*, 'INGRESAR H' READ*, H PRINT*,'' PRINT*,('*',I=1,79) PRINT '(5X,"RESULTADOS")' PRINT*,('*',I=1,79) !APLICANDO EULER- CAUCHY PRINT 90 90 FORMAT(3X,'EULER-CAUCHY APROXIMATION :'/) PRINT 100 100 FORMAT(4X,'ITERATION',5X ,'X',16X,'Y',18X,'Z') DO I=0,N X(I+1)=X(I)+H ENDDO DO J=0,N
  • 6. F(J)=-1.825746*(Z(J))-(400/120)*(Y(J))+0.1*(5.81778)**2*(SIN(5.81778*(X(J)))) IF (J.EQ.N) GOTO 10 Z(J+1)=Z(J)+H*F(J) Y(J+1)=Y(J)+H*Z(J) PRINT*,J+1,X(J+1),Y(J+1),Z(J+1) 10 ENDDO PRINT 110 110 FORMAT(/3X,'ADAMS-BASHFORTH APROXIMATION:'/) DO 6 L=0,N D(0,L)=F(L) WRITE (*,9)L,D(0,L) 9 FORMAT (2X,'F(',I3,')=',F12.4) 6 CONTINUE PRINT*,'' DO I=0,N K=I+1 IF(K.GE.5) GOTO 1 IF(I.EQ.0) THEN SUM1(I)=0.0 ENDIF SUM1(I+1)=(SUM1(I)+(CP(K)*H/24*D(0,N-I))) WRITE (*,112)I+1,CP(K) 112 FORMAT (2X,'CP(',I2,')=',F12.4) VAL(N+1)=Z(N)+SUM1(I+1) 1 ENDDO PRINT*,'' P=VAL(N+1) PRINT 115 115 FORMAT(/3X,'LAPREDICTOR FORMULADA:'/) WRITE (*,116)N+1,P 116 FORMAT (2X,'ZP(',I3,')=',F12.4) PRINT 117 117 FORMAT(/3X,'ADAMS-BASHFORTH APROXIMATION:'/) DO L=0,N R(0,L)=Z(L) ENDDO DO I=0,N K=I+1 IF(K.GE.5)GOTO 2 IF(I.EQ.0) THEN SUM1(I)=0.0 ENDIF SUM2(I+1)=(SUM2(I)+(CP(K)*H/24*R(0,N-I))) VAL1(N+1)=Y(N)+SUM2(I+1) 2 ENDDO P1=VAL1(N+1) PRINT 119 119 FORMAT(/3X,'LAPREDICTOR FORMULADA:'/) WRITE (*,120)N+1,P1 120 FORMAT (2X,'YP(',I3,')=',F12.4) PRINT*,'' PRINT*,'POR LO TANTO,LUEGO DE',N,'-ITERACIONES OBTENEMOS:' PRINT*,'' WRITE (*,121) X(N+1),P1 PRINT*,''
  • 8.
  • 9.
  • 10. CONCLUSIÓN Luego de haber usado el método de Adams –Bashforth y el método de Euler mejorado obtenemos las alturas en diferentes instantes de tiempo los cuales están en óptimo acuerdo con los valores obtenidos mediante MATLAB en las gráficas. Además, observamos de la gráfica que el movimiento y velocidad del sistema es oscilatorio, y no está en resonancia REFERENCIABIBLIOGRÁFICA J.B. Marion, 1984; Dinámica clásica de las partículas y sistemas. Reverté, 1984. REFERNCIAS WEB http://www.monografias.com/trabajos81/vibraciones-mecanicas/vibraciones-mecanicas.shtml
  • 11. APLICACIONES ADICIONALES: MÉTODO DE ADAMS-BASHFORTH CON CAMBIO DE VARIABLE APLICACIÓN FÍSICA: El sistema de la figura está formado por dos varillas AB y CD de longitud L y masa M, articuladas en sus extremos A y C a sendos puntos fijos, y en sus extremos B y D a un bastidor de masa despreciable (verfigura).El bastidor tiene una ranura enla que se mueve sin rozamiento un oscilador lineal formado por una masa m, un resorte de rigidez k y un amortiguador viscoso de constante c. En el instante inicial la masa m se encuentra en reposo relativo al bastidor y las varillas AB y CD son perpendiculares a dicho bastidor. Calcular la posición en t=0.2 s. SOLUCIÓN: Suponiendo que las varillas giran con velocidad angular impuesta 𝜃̇ = Ω constante, de 0.1 rad/s, L=1m, m=1kg, c=1.56 Nm/s, k=70N/m y ciertas condiciones iniciales tenemos La ecuación diferencial del movimiento de la partícula en el bastidor es: Usando Euler: 𝑌𝑛+1 = 𝑌𝑛 + ∆𝑥 𝐹(𝑋 𝑛, 𝑌𝑛) Usando Adams-Bashforth: 𝑌𝑛+1 = 𝑌𝑛 + ∆𝑋 24 [55𝐹𝑛 − 59𝐹𝑛−1 + 37𝐹𝑛−2 − 9𝐹𝑛−3] Usando fortran tenemos: PROGRAM ADAMS_BASHFORTH PARAMETER (IDM=150) DIMENSION D(IDM,IDM),X(IDM),Y(IDM),F(IDM),Z(IDM),SUM1(IDM),VAL(IDM),VAL1(IDM),SUM2(IDM),R(I DM,IDM) REAL(4) H,P,P1 DIMENSION CP(4) REAL ,PARAMETER::CP=(/55.0,-59.0,37.0,-9.0/) !REAL ,PARAMETER::CC=(/9.0,19.0,-5.0,1.0/)
  • 12. PRINT*, '===================================================================' PRINT*,'METHOD DE ADAMS-BASHFORTH PARAEDO DE LAFORMAy''=F(x,y(x),z) ' PRINT*,'================================================================== ==' PRINT*,'' PRINT*,'INGRESAR EL VALOR DE N' READ(5,*)N PRINT*,'' PRINT*, 'INGRESAR LOS VALORES INICIALES X0 E Y0 Y Z(0)' READ*, X(0),Y(0),Z(0) PRINT*,'' PRINT*, 'INGRESAR H' READ*, H PRINT*,'' PRINT*,('*',I=1,79) PRINT '(5X,"RESULTADOS")' PRINT*,('*',I=1,79) !APLICANDO EULER- CAUCHY PRINT 90 90 FORMAT(3X,'EULER-CAUCHY APROXIMATION :'/) PRINT 100 100 FORMAT(4X,'ITERATION',5X ,'X',16X,'Y',18X,'Z') DO I=0,N X(I+1)=X(I)+H ENDDO DO J=0,N F(J)=-1.56*(Z(J))-(70)*(Y(J))+(0.1)**2*(SIN(X(J))) IF (J.EQ.N) GOTO 10 Z(J+1)=Z(J)+H*F(J) Y(J+1)=Y(J)+H*Z(J) PRINT*,J+1,X(J+1),Y(J+1),Z(J+1) 10 ENDDO PRINT 110 110 FORMAT(/3X,'ADAMS-BASHFORTH APROXIMATION:'/) DO 6 L=0,N D(0,L)=F(L) WRITE (*,9)L,D(0,L) 9 FORMAT (2X,'F(',I3,')=',F12.4) 6 CONTINUE PRINT*,'' DO I=0,N K=I+1 IF(K.GE.5) GOTO 1 IF(I.EQ.0) THEN SUM1(I)=0.0 ENDIF SUM1(I+1)=(SUM1(I)+(CP(K)*H/24*D(0,N-I))) WRITE (*,112)I+1,CP(K) 112 FORMAT (2X,'CP(',I2,')=',F12.4) VAL(N+1)=Z(N)+SUM1(I+1) 1 ENDDO PRINT*,'' P=VAL(N+1) PRINT 115
  • 13. 115 FORMAT(/3X,'LAPREDICTOR FORMULADA:'/) WRITE (*,116)N+1,P 116 FORMAT (2X,'ZP(',I3,')=',F12.4) PRINT 117 117 FORMAT(/3X,'ADAMS-BASHFORTH APROXIMATION:'/) DO L=0,N R(0,L)=Z(L) ENDDO DO I=0,N K=I+1 IF(K.GE.5)GOTO 2 IF(I.EQ.0) THEN SUM1(I)=0.0 ENDIF SUM2(I+1)=(SUM2(I)+(CP(K)*H/24*R(0,N-I))) VAL1(N+1)=Y(N)+SUM2(I+1) 2 ENDDO P1=VAL1(N+1) PRINT 119 119 FORMAT(/3X,'LAPREDICTOR FORMULADA:'/) WRITE (*,120)N+1,P1 120 FORMAT (2X,'YP(',I3,')=',F12.4) PRINT*,'' PRINT*,'POR LO TANTO,LUEGO DE',N,'-ITERACIONES OBTENEMOS:' PRINT*,'' WRITE (*,121) X(N+1),P1 PRINT*,'' 121 FORMAT (10X,'Y(',F7.2,')=',F12.4) PRINT*,'' STOP END PROGRAM
  • 14. MÉTODO DE STORMER Enunciado del problema: Considere el circuito que se muestra en la figura 1.el cual consta de un inductor L, un resistor R y un capacitor C. Cuando se aplica un voltaje E(t), hace que una corriente de magnitud i fluya a través del circuito. Cuando la corriente fluye más allá del inductor la caída de voltaje es L(di/dt), cuando fluye a través del resistor la caída es Ri, y cuando llega al capacitor la caída es (1/C)q. Como la corriente no puede fluir más allá del capacitor, sólo es posible medir la carga q que actúa en el capacitor. Por lo tanto, las caídas de voltaje que ocurren a través del inductor, resistor y capacitor son Ld2 q/dt2 , Rdq/dt, y q//C, respectivamente. De acuerdo con la ley del voltaje de Kirchhoff, el voltaje aplicado es igual a la suma de caídas de voltaje alrededor del circuito. Por consiguiente, , donde E(t)=ωVpcosωt, R=1.0Ω, C=0.08F, L=0.0088H, Vp=4, f=1Hz, usando el método de Stormer con h=0.05 resolver el problema de valores iniciales i(0)=1.632 A, i(0.05) =1.813 A, con tol=0.05 Figura1 SOLUCIÓN: Reemplazando los datos tenemos: 𝑑2 𝑖 𝑑𝑡2 = 2854.55cos(6.283𝑥) − 113.636𝑑𝑖/𝑑𝑡 − 1420.454𝑦 Usando el método de Stormer: 𝑖 𝑛+1 = 2𝑖 𝑛 − 𝑖 𝑛−1 + [2854.55cos(6.283𝑥) − 113.636𝑑𝑖/𝑑𝑡 − 1420.454𝑦](∆𝑡2)
  • 15. Usando fortran 90 tenemos: PROGRAM STORMER_VERLET PARAMETER (IDM=100) DIMENSION X(IDM), Y(IDM) REAL H,N,DY,B,EE,TOL PRINT*,'' PRINT*, '=====================================================================' PRINT*,'METHOD DE STORMER VERLET PARA EDO' PRINT*,'DE SEGUNDO ORDENCON CONDICIONES INICIALES' PRINT*,'================================================================== ====' PRINT*,'' PRINT*,'INGRESAR EL NUMERO DE PUNTOS N' READ(5,*)N PRINT*, 'INGRESAR LOS VALORES INICIALES X0 E Y0' READ*, X(0),Y(0) PRINT*, 'INGRESAR LOS VALORES INICIALES X1 E Y1' READ*, X(1),Y(1) PRINT*, 'INGRESAR H' READ*, H PRINT*, 'INGRESAR LA TOL' READ*, TOL PRINT*,'' PRINT*,('*',I=1,79) PRINT '(5X,"RESULTADOS")' PRINT*,('*',I=1,79) PRINT*,'' PRINT 100 100 FORMAT(11X,'N',7X ,'X(N)',14X,'Y(N)') DO I=2,N X(I)=X(0)+I*H ENDDO PRINT*,0,X(0),Y(0) PRINT*,1,X(1),Y(1) DO J=2,N A=Y(J-1) 10 DY=0.5*(A-Y(J-2))/H B=F(X(J-1),Y(J-1),DY) Y(J)=2*Y(J-1)-Y(J-2)+B*H**2 EE=ABS(Y(J)-A) !ERROR ENCONTRADO IF (EE.GT.TOL) THEN A=(Y(J)+A)/2 GOTO 10 END IF PRINT*,J,X(J),Y(J) END DO PRINT*,'' PRINT*,' POR LO TANTO,LUEGO DE LAS ITERACIONES OBTENEMOS:' PRINT*,'' WRITE (*,121) X(N),Y(N) 121 FORMAT (10X,'Y(',F7.2,')=',F12.4) PRINT*,'' END PROGRAM
  • 16. FUNCTION F(X,Y,Z) F=2854.55*COS(6.283*X)-113.636*Z-1420.454*Y RETURN END FUNCTION MÉTODO DE ADAMS-MOULTON IMPACTO DE UN COCHE CONTRAUNABARRERA DE PROTECCIÓN. Una barrera de protección se sitúa al final de un circuito con el objeto de parar coches que han perdido el control. Esta barrera se ha diseñado de forma que la fuerza que la barrera aplica al coche viene dada en función de la velocidad v y del desplazamiento x de la parte frontal de la barrera, según la expresión: Donde k=30 s-kg/m5 es una constante. Un coche, con una masa m de 1500 kg, impacta contra la barrera de protección a una velocidad de 90 km/h. Calcular la velocidad en la posición x =0.8 m. SOLUCIÓN: La desaceleración del coche, una vez que éste ha impactado contra la barrera, se puede calcular utilizando la segunda Ley de Newton: Esta ecuación se puede resolver para la aceleración a en función de v y x:
  • 17. La velocidad, en función de x, se puede calcular sustituyendo la aceleración en la ecuación: , lo que resulta: Esta última ecuación es una ecuación diferencial ordinaria de primer orden, que se resolverá en X=0.8 m con la condición inicial v=90 km/h en x=0 Usando Euler Mejorado: 𝑌𝑛+1 = 𝑌𝑛 + ∆𝑥 (𝐹( 𝑋 𝑛, 𝑌𝑛)+ 𝐹( 𝑋 𝑛+1, 𝑌𝑛+1 ∗ ))∗ 0.5 𝑌𝑛+1 ∗ = 𝑌𝑛 + ∆𝑥 (𝐹( 𝑋 𝑛, 𝑌𝑛) Usando Adams-Moulton: 𝑌𝑛+1 = 𝑌 𝑛 + ∆𝑋 24 [9𝐹𝑛+1 − 19𝐹𝑛 − 5𝐹𝑛−1 + 𝐹𝑛−2] Utilizando fortran 90 tenemos: PROGRAM ADAMS_MOULTON PARAMETER (IDM=150) DIMENSION Z(IDM,IDM),X(IDM), Y(IDM),R(IDM) REAL H,M,N,TOL DIMENSION CC(4) REAL ,PARAMETER::CC=(/9.0,19.0,-5.0,1.0/) PRINT*,'' PRINT*, '==========================================================' PRINT*,'METHOD DE ADAMS-MOULTON-PARA EDO DE LA FORMA DY/DX=F(X,Y)' PRINT*,'============================================================' PRINT*,'' PRINT*,'INGRESAR EL NUMBER DE PUNTOS' READ(5,*)N PRINT*, 'INGRESAR LOS VALORES INICIALES X0 E Y0' READ*, X(0),Y(0) PRINT*, 'INGRESAR H' READ*, H PRINT*, 'INGRESAR TOLERANCIA' READ*, TOL PRINT*,('*',I=1,79) PRINT '(5X,"RESULTADOS")' PRINT*,('*',I=1,79) !APLICANDO EULER- CAUCHY MEJORADO PRINT 90 90 FORMAT(3X,'EULER-CAUCHY APROXIMATION MEJORADA:'/) PRINT 100 100 FORMAT(7X,'ITERATION',5X ,'X',16X,'Y') DO I=1,N X(I)=X(0)+I*H ENDDO PRINT*,0,X(0),Y(0) DO J=1,3
  • 18. R(J)= Y(J-1)+H*F(X(J-1),Y(J-1)) Y(J)=Y(J-1)+(0.5)*H*(F(X(J-1),Y(J-1))+F(X(J),R(J))) PRINT*,J,X(J),Y(J) END DO PRINT*,'' PRINT 110 110 FORMAT(/3X,'METHOD DE ADMS MOULT:'/) DO I=1,4 WRITE (*,112)I,CC(I) 112 FORMAT (2X,'CC(',I2,')=',F12.4) ENDDO PRINT 113 113 FORMAT(9X ,'X',19X,'Y') DO J=3,N IF(J.EQ.3)THEN Z(0,J)=Y(J) Y(J)=Z(0,J) ELSE Z(0,J)=Y(J-1) Y(J)=Z(0,J) ENDIF M=0 10 M=M+1 Z(M,J)=Y(J-1)+H/24*(9*F(X(J),Y(J))+19*F(X(J-1),Y(J-1))-5*F(X(J-2),Y(J-2))+F(X(J- 3),Y(J-3))) Y(J)=Z(M,J) !CALCULAMOS LA TOLERANCIA EE=ABS(Z(M,J)-Z(M-1,J)) !ERROR ENCONTRADO IF (EE.GT.TOL) THEN GOTO 10 END IF PRINT*, X(J),Y(J) ENDDO PRINT*,'' PRINT*,' POR LO TANTO,LUEGO DE LAS ITERACIONES OBTENEMOS:' PRINT*,'' WRITE (*,121) X(N),Y(N) 121 FORMAT (10X,'Y(',F7.2,')=',F12.4) PRINT*,'' END PROGRAM FUNCTION F(X,Y) F=(-0.02)*Y**2*(X+1)**3 RETURN END FUNCTION
  • 19. MÉTODO DE NUMEROV Enunciado del problema: Si el bloque está sometido a la fuerza impresa F= F0cosωt, las leyes básicas de la física dan lugar a la ecuación diferencial de movimiento: , donde F0/m=16, ω=8, k/m=64 e y se mide desde la posición de equilibrio del bloque, usando el método de Numerov con h=0.1 resolver el problema de valores iniciales y(0)=0.0,y(0.1) =0.07174, t Є (0,0.5)
  • 20. SOLUCIÓN: Reemplazando los datos tenemos: 𝑑2 𝑦 𝑑𝑡2 = −64𝑦 + 16𝑐𝑜𝑠8𝑡 Usando el método de Numerov: 𝑦 𝑛+1 = [2𝑦𝑛 𝐵 − 𝑦 𝑛−1 𝐶 + 𝐷] 1 𝐴 Siendo g(t)=64+0.0t , s(t)=16cos8t Usando fortran 90 tenemos: PROGRAM NUMEROV PARAMETER (IDM=100) DIMENSION X(IDM), Y(IDM) REAL H,N,A,B,C,D PRINT*,'' PRINT*, '=====================================================================' PRINT*,'METHOD DE NUMEROV PARA EDOS DE SEGUNDO ORDENCON CONDICIONES INICIALES' PRINT*,'================================================================== ====' PRINT*,'' PRINT*,'INGRESAR EL NUMERO DE PUNTOS N' READ(5,*)N PRINT*, 'INGRESAR LOS VALORES INICIALES X0 E Y0' READ*, X(0),Y(0) PRINT*, 'INGRESAR LOS VALORES INICIALES X1 E Y1' READ*, X(1),Y(1) PRINT*, 'INGRESAR H' READ*, H PRINT*,'' PRINT*,('*',I=1,79)
  • 21. PRINT '(5X,"RESULTADOS")' PRINT*,('*',I=1,79) PRINT*,'' PRINT 100 100 FORMAT(5X,'ITERATION',5X ,'X',16X,'Y') DO I=2,N X(I)=X(0)+I*H ENDDO PRINT*,0,X(0),Y(0) PRINT*,1,X(1),Y(1) DO J=2,N A=1+(G(X(J))*H**2)/12 B=1-(G(X(J-1))*H**2)*5/12 C=1+(G(X(J-2))*H**2)/12 D=((S(X(J))+10*S(X(J-1))+S(X(J-2)))/12)*H**2 Y(J)=(2*Y(J-1)*B-Y(J-2)*C+D)/A PRINT*,J,X(J),Y(J) END DO PRINT*,'' PRINT*,'' PRINT*,' POR LO TANTO,LUEGO DE LAS ITERACIONES OBTENEMOS:' PRINT*,'' WRITE (*,121) X(N),Y(N) 121 FORMAT (10X,'Y(',F7.2,')=',F12.4) PRINT*,'' END PROGRAM FUNCTION G(X) G=64+0*X RETURN END FUNCTION FUNCTION S(X) S=16*COS(8*X) RETURN END FUNCTION
  • 22. METODO DE RELAJACION DE GAUSS-SEIDEL Las superficies interior y exterior de una chimenea cuya sección transversal se muestra en el esquema de la figura 5 se encuentran a 100 y 0°C, respectivamente. Calcular las temperaturas T1, T2, T3, T4. Usando la ecuación: Solución:
  • 23. De la ecuación (13): Nodo 1: entonces, Nodo 2: entonces, Nodo 3: entonces, Nodo 4: entonces, Ordenando tenemos: 2T2+100-4T1=0 T1+100+T3-4T2=0 T2+100+T4-4T3=0 2T3-4T4=0 Resolviendo el sistema de ecuaciones por el método iterativo de relajación de gauss seidel tenemos: T1=48.89°C T2=47.78°C T3=42.22°C T4=21.11°C PROGRAM GAUSS_SEIDEL REAL(4) A(10,10) , B(10), X(10,10), TOL WRITE(*,*)'' WRITE(*,*)' ================================================' WRITE(*,*)' SOUCION DE SISTEMAS DE ECUACIONES LINEALES' WRITE(*,*)' ================================================' WRITE(*,*)'' WRITE(*,*)'' WRITE(*,*)' ================================================' WRITE(*,*)' METODO DE RELAJACION DE GAUSS-SEIDEL A.X=B' WRITE(*,*)' ================================================' WRITE(*,*)'' WRITE(*,*)'' WRITE(*,*)'INGRESE EL ORDEN DE LA MATRIZ A' READ(*,*) N WRITE(*,*)'' WRITE(*,*)'INGRESE LOS ELEMENTOS DE LA MATRIZ A' DO I=1,N READ(*,*) (A(I,J),J=1,N)
  • 24. END DO WRITE(*,*) '' WRITE(*,*) 'INGRESE LOS ELEMENTOS DEL VECTOR B' DO I=1,N READ(*,*) B(I) END DO WRITE(*,*) '' WRITE(*,*) 'INGRESE LOS ELEMENTOS DEL VECTOR APROXIMADO X' DO I=1,N READ(*,*)X(0,I) END DO WRITE(*,*) '' WRITE(*,*)'INGRESE LA TOLERANCIA %' READ(*,*)TOL WRITE(*,*)'' WRITE(*,*)'' WRITE(*,*)'' WRITE(*,*)'================================================================ =' WRITE(*,*)'' WRITE(*,*)'' WRITE(*,*)' ==================' WRITE(*,*)' MATRIZ INGRESADA' WRITE(*,*)' ==================' WRITE(*,*)'' DO I=1,N WRITE(*,2)(A(I,J),J=1,N) END DO WRITE(*,*)'' WRITE(*,*)'' WRITE(*,*)' =============================================' WRITE(*,*)' ORDEN DE RESULTADOS DEL ' WRITE(*,*)' APROXIMACION K VECTOR SOLUCION "X"' WRITE(*,*)' =============================================' K=0 3 DO I=1,N SUMA1=0 DO J=1,N IF (J.GT.I)THEN SUMA1= SUMA1 + A(I,J)*X(K,J) END IF END DO SUMA2=0 DO J=1,N IF (J.LT.I)THEN SUMA2= SUMA2 + A(I,J)*X(K+1,J) END IF END DO X(K+1, I)= (B(I) - SUMA1-SUMA2)/A(I,I) END DO WRITE(*,5)K,(X(K+1,J),J=1,N) !EVALUAMOS LA CONVERGENCIA DO I=1,N EA=ABS(X(K+1,I)-X(K,I)) IF(EA.GT.TOL)THEN
  • 25. K=K+1 GOTO 3 END IF END DO WRITE(*,*)'' WRITE(*,*)'' WRITE(*,*)' ORDEN K:',K WRITE(*,*)'' WRITE(*,*)' COMPONENTES DEL VECTOR SOLUCION "X"' WRITE(*,*)' ====================================' DO I=1,N WRITE(*,10)I,X(K+1,I) END DO WRITE(*,*) '' WRITE(*,*) '' WRITE(*,*) '' 2 FORMAT(2X,7(F8.2)) 5 FORMAT(3X,(I2,9X),10(F9.4,3X)) 10 FORMAT (2X,I2,10(F9.4,3X)) END
  • 26.
  • 27. SOLUCIÓN BASADA EN LA INTEGRACIÓN NUMÉRICA (MÉTODO ADAMS- MOULTON-BASHFORTH). Enunciado del problema: Al modelar la velocidad de los aviones y la pérdida de altitud cuando se emerge de un picado, las leyes básicas de la física dan lugar a la ecuación diferencial , donde θ denota el ángulo de picado (en radianes), V = V (θ) es la velocidad del avión, g = 9,8 m/s2 es la constante de aceleración, y k es una constante relacionada con el área de superficie del ala. Para un avión concreto, k = 0,00145, θ0 = -0,786, y V (θ0)=V0 = 150 m/s. Utilice h = 0,006 (que divide θ0 en segmentos iguales) y n = 131 para estimar, la velocidad del avión a la finalización del picado, es decir, cuando se endereza hasta θ = 0. (¡Por supuesto, utilice herramientas tecnológicas!) SOLUCIÓN: Usando Euler Mejorado: 𝑌𝑛+1 = 𝑌𝑛 + ∆𝑥 (𝐹( 𝑋 𝑛, 𝑌𝑛) + 𝐹( 𝑋 𝑛+1, 𝑌𝑛+1 ∗ )) ∗ 0.5 𝑌𝑛+1 ∗ = 𝑌𝑛 + ∆𝑥 (𝐹( 𝑋 𝑛, 𝑌𝑛) Usando Adams-Moulton-Bashforth: 𝑌𝑛+1 0 = 𝑌𝑛 + ∆𝑋 24 [55𝐹𝑛 − 59𝐹𝑛−1 + 37𝐹𝑛−2 − 9𝐹𝑛−3 ] 𝑌𝑛+1 𝑖+1 = 𝑌𝑛 + ∆𝑋 24 [9𝐹𝑛+1 𝑖 + 19𝐹𝑛 − 5𝐹𝑛 −1 + 𝐹𝑛 −2] Utilizando fortran 90 tenemos: PROGRAM PREDICTOR_CORRECTOR PARAMETER (IDM=150) DIMENSION Z(IDM,IDM),X(IDM), Y(IDM),R(IDM) REAL H,M,N,TOL DIMENSION CP(4),CC(4) REAL ,PARAMETER::CP=(/55.0,-59.0,37.0,-9.0/) REAL ,PARAMETER::CC=(/9.0,19.0,-5.0,1.0/) PRINT*,'' PRINT*, '==========================================================' PRINT*,'METHOD DE ADAMS-MOULTON-BASHFORTH PARA EDO DE LA FORMA DY/DX=F(X,Y)' PRINT*,'============================================================ ' PRINT*,'' PRINT*,'INGRESAR EL NUMBER DE PUNTOS' READ(5,*)N PRINT*, 'INGRESAR LOS VALORES INICIALES X0 E Y0' READ*, X(0),Y(0) PRINT*, 'INGRESAR H'
  • 28. READ*, H PRINT*, 'INGRESAR TOLERANCIA' READ*, TOL PRINT*,('*',I=1,79) PRINT '(5X,"RESULTADOS")' PRINT*,('*',I=1,79) !APLICANDO EULER- CAUCHY MEJORADO PRINT 90 90 FORMAT(3X,'EULER-CAUCHY APROXIMATION MEJORADA:'/) PRINT 100 100 FORMAT(7X,'ITERATION',5X ,'X',16X,'Y') DO I=1,N X(I)=X(0)+I*H ENDDO PRINT*,0,X(0),Y(0) DO J=1,3 R(J)= Y(J-1)+H*F(X(J-1),Y(J-1)) Y(J)=Y(J-1)+(0.5)*H*(F(X(J-1),Y(J-1))+F(X(J),R(J))) PRINT*,J,X(J),Y(J) END DO PRINT*,'' PRINT 110 110 FORMAT(/3X,'PROCEDIMIENTO PREDICTOR-CORRECTOR:'/) DO J=1,4 WRITE (*,111)J,CP(J) 111 FORMAT (2X,'CP(',I2,')=',F12.4) ENDDO PRINT*,'' DO I=1,4 WRITE (*,112)I,CC(I) 112 FORMAT (2X,'CC(',I2,')=',F12.4) ENDDO PRINT 113 113 FORMAT(9X ,'X',19X,'Y') DO J=4,N Z(0,J)=Y(J-1)+H/24*(55*F(X(J-1),Y(J-1))-59*F(X(J-2),Y(J-2))+37*F(X(J-3),Y(J- 3))-9*F(X(J-4),Y(J-4))) Y(J)=Z(0,J) M=0 10 M=M+1 Z(M,J)=Y(J-1)+H/24*(9*F(X(J),Y(J))+19*F(X(J-1),Y(J-1))-5*F(X(J-2),Y(J- 2))+F(X(J-3),Y(J-3))) Y(J)=Z(M,J) !CALCULAMOS LA TOLERANCIA EE=ABS(Z(M,J)-Z(M-1,J)) !ERROR ENCONTRADO IF (EE.GT.TOL) THEN GOTO 10 END IF PRINT*, X(J),Y(J) ENDDO PRINT*,''
  • 29. PRINT*,' POR LO TANTO,LUEGO DE LAS ITERACIONES OBTENEMOS:' PRINT*,'' WRITE (*,121) X(N),Y(N) 121 FORMAT (10X,'Y(',F7.2,')=',F12.4) PRINT*,'' END PROGRAM FUNCTION F(X,Y) !F=4*Y+COS(X**2) F=-9.8*Y*SIN(X)/(0.00145*(Y**2)-9.8*COS(X)) RETURN END FUNCTION
  • 30.
  • 31.
  • 32. PROBLEMA1 Elaborar una codificación para el método del Predictor-Corrector Adams Bashforth-Moulton, y hallar la solución de la siguiente ecuación diferencial. Y’=4y+cos(x2), considere: x0=0, y0=1.2, xf=1, N=10, tol=0.01.
  • 33. SOLUCIÓN: PROGRAM PREDICTOR_CORRECTOR PARAMETER (IDM=150) DIMENSION Z(IDM,IDM),X(IDM), Y(IDM),R(IDM) REAL H,M,N,TOL DIMENSION CP(4),CC(4) REAL ,PARAMETER::CP=(/55.0,-59.0,37.0,-9.0/) REAL ,PARAMETER::CC=(/9.0,19.0,-5.0,1.0/) PRINT*,'' PRINT*, '==========================================================' PRINT*,'METHOD DE ADAMS-MOULTON-BASHFORTH PARA EDO DE LA FORMA DY/DX=F(X,Y)' PRINT*,'============================================================ ' PRINT*,'' PRINT*,'INGRESAR EL NUMBER DE PUNTOS' READ(5,*)N PRINT*, 'INGRESAR LOS VALORES INICIALES X0 E Y0' READ*, X(0),Y(0) PRINT*, 'INGRESAR H' READ*, H PRINT*, 'INGRESAR TOLERANCIA' READ*, TOL PRINT*,('*',I=1,79) PRINT '(5X,"RESULTADOS")' PRINT*,('*',I=1,79) !APLICANDO EULER- CAUCHY MEJORADO PRINT 90 90 FORMAT(3X,'EULER-CAUCHY APROXIMATION MEJORADA:'/) PRINT 100 100 FORMAT(7X,'ITERATION',5X ,'X',16X,'Y') DO I=1,N X(I)=X(0)+I*H ENDDO PRINT*,0,X(0),Y(0) DO J=1,3 R(J)= Y(J-1)+H*F(X(J-1),Y(J-1)) Y(J)=Y(J-1)+(0.5)*H*(F(X(J-1),Y(J-1))+F(X(J),R(J))) PRINT*,J,X(J),Y(J) END DO PRINT*,'' PRINT 110 110 FORMAT(/3X,'PROCEDIMIENTO PREDICTOR-CORRECTOR:'/) DO J=1,4 WRITE (*,111)J,CP(J) 111 FORMAT (2X,'CP(',I2,')=',F12.4) ENDDO PRINT*,'' DO I=1,4 WRITE (*,112)I,CC(I) 112 FORMAT (2X,'CC(',I2,')=',F12.4)
  • 34. ENDDO PRINT 113 113 FORMAT(9X ,'X',19X,'Y') DO J=4,N Z(0,J)=Y(J-1)+H/24*(55*F(X(J-1),Y(J-1))-59*F(X(J-2),Y(J-2))+37*F(X(J-3),Y(J- 3))-9*F(X(J-4),Y(J-4))) Y(J)=Z(0,J) M=0 10 M=M+1 Z(M,J)=Y(J-1)+H/24*(9*F(X(J),Y(J))+19*F(X(J-1),Y(J-1))-5*F(X(J-2),Y(J- 2))+F(X(J-3),Y(J-3))) Y(J)=Z(M,J) !CALCULAMOS LA TOLERANCIA EE=ABS(Z(M,J)-Z(M-1,J)) !ERROR ENCONTRADO IF (EE.GT.TOL) THEN GOTO 10 END IF PRINT*, X(J),Y(J) ENDDO PRINT*,'' PRINT*,' POR LO TANTO,LUEGO DE LAS ITERACIONES OBTENEMOS:' PRINT*,'' WRITE (*,121) X(N),Y(N) 121 FORMAT (10X,'Y(',F7.2,')=',F12.4) PRINT*,'' END PROGRAM FUNCTION F(X,Y) F=4*Y+COS(X**2) !F=-9.8*Y*SIN(X)/(0.00145*(Y**2)-9.8*COS(X)) RETURN END FUNCTION
  • 35. PROGRAM NUMEROV PARAMETER (IDM=100) DIMENSION X(IDM), Y(IDM) REAL H,N,A,B,C,D PRINT*,'' PRINT*, '================================================================== ===' PRINT*,'METHOD DE NUMEROV PARA EDOS DE SEGUNDO ORDEN CON CONDICIONES INICIALES' PRINT*,'============================================================ ==========' PRINT*,''
  • 36. PRINT*,'INGRESAR EL NUMERO DE PUNTOS N' READ(5,*)N PRINT*, 'INGRESAR LOS VALORES INICIALES X0 E Y0' READ*, X(0),Y(0) PRINT*, 'INGRESAR LOS VALORES INICIALES X1 E Y1' READ*, X(1),Y(1) PRINT*, 'INGRESAR H' READ*, H PRINT*,'' PRINT*,('*',I=1,79) PRINT '(5X,"RESULTADOS")' PRINT*,('*',I=1,79) PRINT*,'' PRINT 100 100 FORMAT(5X,'ITERATION',5X ,'X',16X,'Y') DO I=2,N X(I)=X(0)+I*H ENDDO PRINT*,0,X(0),Y(0) PRINT*,1,X(1),Y(1) DO J=2,N A=1+(G(X(J))*H**2)/12 B=1-(G(X(J-1))*H**2)*5/12 C=1+(G(X(J-2))*H**2)/12 D=((S(X(J))+10*S(X(J-1))+S(X(J-2)))/12)*H**2 Y(J)=(2*Y(J-1)*B-Y(J-2)*C+D)/A PRINT*,J,X(J),Y(J) END DO PRINT*,'' PRINT*,'' PRINT*,' POR LO TANTO,LUEGO DE LAS ITERACIONES OBTENEMOS:' PRINT*,'' WRITE (*,121) X(N),Y(N) 121 FORMAT (10X,'Y(',F7.2,')=',F12.4) PRINT*,'' END PROGRAM !FUNCTION G(X) !G=-3*X !RETURN !END FUNCTION !FUNCTION S(X) !S=5*COS(2*X) !RETURN !END FUNCTION FUNCTION G(X) G=64+0*X RETURN END FUNCTION
  • 37. FUNCTION S(X) S=16*COS(8*X) RETURN END FUNCTION PROBLEMA1 Elaborar una codificación por el método del Corrector Adams Moulton, y hallar la solución de la siguiente ecuación diferencial. Y’=4y+cos(x2), considere: x0=0, y0=1.2, xf=1, n=10, tol=0.01. SOLUCIÓN: PROGRAM ADAMS_MOULTON PARAMETER (IDM=150) DIMENSION Z(IDM,IDM),X(IDM), Y(IDM),R(IDM) REAL H,M,N,TOL DIMENSION CC(4) REAL ,PARAMETER::CC=(/9.0,19.0,-5.0,1.0/) PRINT*,'' PRINT*, '==========================================================' PRINT*,'METHOD DE ADAMS-MOULTON PARA EDO DE LA FORMA DY/DX=F(X,Y)' PRINT*,'============================================================ ' PRINT*,'' PRINT*,'INGRESAR EL NUMBER DE PUNTOS' READ(5,*)N PRINT*, 'INGRESAR LOS VALORES INICIALES X0 E Y0' READ*, X(0),Y(0) PRINT*, 'INGRESAR H' READ*, H
  • 38. PRINT*, 'INGRESAR TOLERANCIA' READ*, TOL PRINT*,('*',I=1,79) PRINT '(5X,"RESULTADOS")' PRINT*,('*',I=1,79) !APLICANDO EULER- CAUCHY MEJORADO PRINT 90 90 FORMAT(3X,'EULER-CAUCHY APROXIMATION MEJORADA:'/) PRINT 100 100 FORMAT(7X,'ITERATION',5X ,'X',16X,'Y') DO I=1,N X(I)=X(0)+I*H ENDDO PRINT*,0,X(0),Y(0) DO J=1,3 R(J)= Y(J-1)+H*F(X(J-1),Y(J-1)) Y(J)=Y(J-1)+(0.5)*H*(F(X(J-1),Y(J-1))+F(X(J),R(J))) PRINT*,J,X(J),Y(J) END DO PRINT*,'' PRINT 110 110 FORMAT(/3X,'PROCEDIMIENTO PREDICTOR-CORRECTOR:'/) DO I=1,4 WRITE (*,112)I,CC(I) 112 FORMAT (2X,'CC(',I2,')=',F12.4) ENDDO PRINT 113 113 FORMAT(9X ,'X',19X,'Y') DO J=3,N Z(0,J)=Y(J) M=0 10 M=M+1 Z(M,J)=Y(J-1)+H/24*(9*F(X(J),Y(J))+19*F(X(J-1),Y(J-1))-5*F(X(J-2),Y(J- 2))+F(X(J-3),Y(J-3))) Y(J)=Z(M,J) !CALCULAMOS LA TOLERANCIA EE=ABS(Z(M,J)-Z(M-1,J)) !ERROR ENCONTRADO IF (EE.GT.TOL) THEN GOTO 10 END IF Y(J+1)=Z(M,J) PRINT*, X(J),Y(J) ENDDO PRINT*,'' PRINT*,' POR LO TANTO,LUEGO DE LAS ITERACIONES OBTENEMOS:' PRINT*,'' WRITE (*,121) X(N),Y(N) 121 FORMAT (10X,'Y(',F7.2,')=',F12.4) PRINT*,'' END PROGRAM FUNCTION F(X,Y)
  • 39. F=4*Y+COS(X**2) !F=-9.8*Y*SIN(X)/(0.00145*(Y**2)-9.8*COS(X)) RETURN END FUNCTION PROGRAM ADAMS_MOULTON PARAMETER (IDM=150) DIMENSION Z(IDM,IDM),X(IDM), Y(IDM),R(IDM) REAL H,M,N,TOL DIMENSION CC(4) REAL ,PARAMETER::CC=(/9.0,19.0,-5.0,1.0/) PRINT*,'' PRINT*, '==========================================================' PRINT*,'METHOD DE ADAMS-MOULTON-PARA EDO DE LA FORMA DY/DX=F(X,Y)' PRINT*,'============================================================ ' PRINT*,''
  • 40. PRINT*,'INGRESAR EL NUMBER DE PUNTOS' READ(5,*)N PRINT*, 'INGRESAR LOS VALORES INICIALES X0 E Y0' READ*, X(0),Y(0) PRINT*, 'INGRESAR H' READ*, H PRINT*, 'INGRESAR TOLERANCIA' READ*, TOL PRINT*,('*',I=1,79) PRINT '(5X,"RESULTADOS")' PRINT*,('*',I=1,79) !APLICANDO EULER- CAUCHY MEJORADO PRINT 90 90 FORMAT(3X,'EULER-CAUCHY APROXIMATION MEJORADA:'/) PRINT 100 100 FORMAT(7X,'ITERATION',5X ,'X',16X,'Y') DO I=1,N X(I)=X(0)+I*H ENDDO PRINT*,0,X(0),Y(0) DO J=1,3 R(J)= Y(J-1)+H*F(X(J-1),Y(J-1)) Y(J)=Y(J-1)+(0.5)*H*(F(X(J-1),Y(J-1))+F(X(J),R(J))) PRINT*,J,X(J),Y(J) END DO PRINT*,'' PRINT 110 110 FORMAT(/3X,'METHOD DE ADMS MOULT:'/) DO I=1,4 WRITE (*,112)I,CC(I) 112 FORMAT (2X,'CC(',I2,')=',F12.4) ENDDO PRINT 113 113 FORMAT(9X ,'X',19X,'Y') DO J=3,N IF(J.EQ.3)THEN Z(0,J)=Y(J) Y(J)=Z(0,J) ELSE Z(0,J)=Y(J-1) Y(J)=Z(0,J) ENDIF M=0 10 M=M+1 Z(M,J)=Y(J-1)+H/24*(9*F(X(J),Y(J))+19*F(X(J-1),Y(J-1))-5*F(X(J-2),Y(J- 2))+F(X(J-3),Y(J-3))) Y(J)=Z(M,J) !CALCULAMOS LA TOLERANCIA EE=ABS(Z(M,J)-Z(M-1,J)) !ERROR ENCONTRADO IF (EE.GT.TOL) THEN GOTO 10
  • 41. END IF PRINT*, X(J),Y(J) ENDDO PRINT*,'' PRINT*,' POR LO TANTO,LUEGO DE LAS ITERACIONES OBTENEMOS:' PRINT*,'' WRITE (*,121) X(N),Y(N) 121 FORMAT (10X,'Y(',F7.2,')=',F12.4) PRINT*,'' END PROGRAM FUNCTION F(X,Y) F=4*Y+COS(X**2) !F=-9.8*Y*SIN(X)/(0.00145*(Y**2)-9.8*COS(X)) RETURN END FUNCTION
  • 42. PROBLEMA 2 Elaborar una codificación por el método predictor corrector, y hallar la solución de la siguiente ecuación diferencial. Y’=4y+cos(x2), considere: x0=0, y0=1.2, xf=1, n=10, tol=0.01. SOLUCIÓN: PROGRAM PREDICTOR_CORRECTOR PARAMETER (IDM=150) DIMENSION Z(IDM,IDM),X(IDM), Y(IDM),R(IDM) REAL H,M,N,TOL DIMENSION CP(4),CC(4) REAL ,PARAMETER::CP=(/55.0,-59.0,37.0,-9.0/) REAL ,PARAMETER::CC=(/9.0,19.0,-5.0,1.0/) PRINT*,'' PRINT*, '==========================================================' PRINT*,'METHOD DE ADAMS-MOULTON-BASHFORTH PARA EDO DE LA FORMA DY/DX=F(X,Y)' PRINT*,'============================================================ ' PRINT*,'' PRINT*,'INGRESAR EL NUMBER DE PUNTOS' READ(5,*)N PRINT*, 'INGRESAR LOS VALORES INICIALES X0 E Y0' READ*, X(0),Y(0) PRINT*, 'INGRESAR H' READ*, H PRINT*, 'INGRESAR TOLERANCIA' READ*, TOL PRINT*,('*',I=1,79) PRINT '(5X,"RESULTADOS")' PRINT*,('*',I=1,79) !APLICANDO EULER- CAUCHY MEJORADO PRINT 90 90 FORMAT(3X,'EULER-CAUCHY APROXIMATION MEJORADA:'/) PRINT 100 100 FORMAT(7X,'ITERATION',5X ,'X',16X,'Y') DO I=1,N X(I)=X(0)+I*H ENDDO PRINT*,0,X(0),Y(0) DO J=1,3 R(J)= Y(J-1)+H*F(X(J-1),Y(J-1)) Y(J)=Y(J-1)+(0.5)*H*(F(X(J-1),Y(J-1))+F(X(J),R(J))) PRINT*,J,X(J),Y(J) END DO PRINT*,'' PRINT 110 110 FORMAT(/3X,'PROCEDIMIENTO PREDICTOR-CORRECTOR:'/) DO J=1,4 WRITE (*,111)J,CP(J)
  • 43. 111 FORMAT (2X,'CP(',I2,')=',F12.4) ENDDO PRINT*,'' DO I=1,4 WRITE (*,112)I,CC(I) 112 FORMAT (2X,'CC(',I2,')=',F12.4) ENDDO PRINT 113 113 FORMAT(9X ,'X',19X,'Y') DO J=4,N Z(0,J)=Y(J-1)+H/24*(55*F(X(J-1),Y(J-1))-59*F(X(J-2),Y(J-2))+37*F(X(J-3),Y(J- 3))-9*F(X(J-4),Y(J-4))) Y(J)=Z(0,J) M=0 10 M=M+1 Z(M,J)=Y(J-1)+H/24*(9*F(X(J),Y(J))+19*F(X(J-1),Y(J-1))-5*F(X(J-2),Y(J- 2))+F(X(J-3),Y(J-3))) Y(J)=Z(M,J) !CALCULAMOS LA TOLERANCIA EE=ABS(Z(M,J)-Z(M-1,J)) !ERROR ENCONTRADO IF (EE.GT.TOL) THEN GOTO 10 END IF PRINT*, X(J),Y(J) ENDDO PRINT*,'' PRINT*,' POR LO TANTO,LUEGO DE LAS ITERACIONES OBTENEMOS:' PRINT*,'' WRITE (*,121) X(N),Y(N) 121 FORMAT (10X,'Y(',F7.2,')=',F12.4) PRINT*,'' END PROGRAM FUNCTION F(X,Y) F=4*Y+COS(X**2) !F=-9.8*Y*SIN(X)/(0.00145*(Y**2)-9.8*COS(X)) RETURN END FUNCTION
  • 44. PROBLEMA 3 Elaborar una codificaciónpara el Método de Stormer-Verlet pero adaptado por el método de cambio de variable a una ecuación diferencial de segundo orden; luego resolver los siguientes problemas: a) Resolver la ecuación diferencial: Y”=5XY’+COS(Y),considere lo siguiente x0=0, y0=1.7; x1=0.1,y1=1.715; xf=1, tol=0.01. SOLUCIÓN: PROGRAM STORMER_VERLET PARAMETER (IDM=100) DIMENSION X(IDM), Y(IDM) REAL H,N,DY,B,EE,TOL PRINT*,''
  • 45. PRINT*, '================================================================== ===' PRINT*,'METHOD DE STORMER VERLET PARA EDO' PRINT*,'DE SEGUNDO ORDEN CON CONDICIONES INICIALES' PRINT*,'============================================================ ==========' PRINT*,'' PRINT*,'INGRESAR EL NUMERO DE PUNTOS N' READ(5,*)N PRINT*, 'INGRESAR LOS VALORES INICIALES X0 E Y0' READ*, X(0),Y(0) PRINT*, 'INGRESAR LOS VALORES INICIALES X1 E Y1' READ*, X(1),Y(1) PRINT*, 'INGRESAR H' READ*, H PRINT*, 'INGRESAR LA TOL' READ*, TOL PRINT*,'' PRINT*,('*',I=1,79) PRINT '(5X,"RESULTADOS")' PRINT*,('*',I=1,79) PRINT*,'' PRINT 100 100 FORMAT(11X,'N',7X ,'X(N)',14X,'Y(N)') DO I=2,N X(I)=X(0)+I*H ENDDO PRINT*,0,X(0),Y(0) PRINT*,1,X(1),Y(1) DO J=2,N A=Y(J-1) 10 DY=0.5*(A-Y(J-2))/H B=F(X(J-1),Y(J-1),DY) Y(J)=2*Y(J-1)-Y(J-2)+B*H**2 EE=ABS(Y(J)-A) !ERROR ENCONTRADO IF (EE.GT.TOL) THEN A=(Y(J)+A)/2 GOTO 10 END IF PRINT*,J,X(J),Y(J) END DO PRINT*,'' PRINT*,' POR LO TANTO,LUEGO DE LAS ITERACIONES OBTENEMOS:' PRINT*,'' WRITE (*,121) X(N),Y(N) 121 FORMAT (10X,'Y(',F7.2,')=',F12.4) PRINT*,'' END PROGRAM FUNCTION F(X,Y,Z)
  • 46. F=5*X*Z+COS(Y) RETURN END FUNCTION PROBLEMA 4 Elaborar una codificación por el Método de Numerov, y hallar la solución de la siguiente ecuación diferencial de segundo orden: Y”=3XY+5 COS(2X),considere: x0=0,y0=1.8; x1=0.1, y1=1.825; xf=1 PROGRAM NUMEROV PARAMETER (IDM=100) DIMENSION X(IDM), Y(IDM) REAL H,N,A,B,C,D PRINT*,'' PRINT*, '==================================================================== =' PRINT*,'METHOD DE NUMEROV PARA EDOS DE SEGUNDO ORDEN CON CONDICIONES INICIALES' PRINT*,'============================================================== ========' PRINT*,'' PRINT*,'INGRESAR EL NUMERO DE PUNTOS N'
  • 47. READ(5,*)N PRINT*, 'INGRESAR LOS VALORES INICIALES X0 E Y0' READ*, X(0),Y(0) PRINT*, 'INGRESAR LOS VALORES INICIALES X1 E Y1' READ*, X(1),Y(1) PRINT*, 'INGRESAR H' READ*, H PRINT*,'' PRINT*,('*',I=1,79) PRINT '(5X,"RESULTADOS")' PRINT*,('*',I=1,79) PRINT*,'' PRINT 100 100 FORMAT(5X,'ITERATION',5X ,'X',16X,'Y') DO I=2,N X(I)=X(0)+I*H ENDDO PRINT*,0,X(0),Y(0) PRINT*,1,X(1),Y(1) DO J=2,N A=1+(G(X(J))*H**2)/12 B=1-(G(X(J-1))*H**2)*5/12 C=1+(G(X(J-2))*H**2)/12 D=((S(X(J))+10*S(X(J-1))+S(X(J-2)))/12)*H**2 Y(J)=(2*Y(J-1)*B-Y(J-2)*C+D)/A PRINT*,J,X(J),Y(J) END DO PRINT*,'' PRINT*,'' PRINT*,' POR LO TANTO,LUEGO DE LAS ITERACIONES OBTENEMOS:' PRINT*,'' WRITE (*,121) X(N),Y(N) 121 FORMAT (10X,'Y(',F7.2,')=',F12.4) PRINT*,'' END PROGRAM FUNCTION G(X) G=-3*X RETURN END FUNCTION FUNCTION S(X) S=5*COS(2*X) RETURN END FUNCTION