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
“MÉTODOS NUMÉRICOSCON FORTRAN”
ALUMNO:
MARCO ANTONIO ALPACA CHAMBA
ESCUELA PROFESIONAL:
FÍSICA
TEMAS:
ADAMS-BASHFORTH CON CAMBIO DE VARIABLE
ADAMS-BASHFORTH
ADAMS-MOULTON
DDNGB (U DIFERENTE=0)
DDST (U DIFERENTE DE 0)
DDST (U=0)
NFB
DNGB (U=0)
DNGF u diferente de 0
DST (U DIFERENTE 0)
DST (U=0)
INVERSA APLICACIÓN
JACOBI-RGS
NGB
NUMEROV
STORMER
SOBRE RELAJACIÓN SUCESIVA-INVERSA Y DETERMINANTE
EIGENVALORES Y EGENVECTORES
24 de Noviembre del 2014
2. PROGRAMA DE TODOS LOS EIGENVALORES
En la vibración natural de tres masas, m, 2 m, y m, conectados por los cuatro resortes que se
muestran en la Figura 1, determinar el polinomio característico, los valores propios, que
corresponden a las frecuencias naturales de vibración, y los vectores propios, que dan la
amplitudes de movimiento de las masas. Las constantes elásticas de los cuatro resortes son k,
2k, 2k, y k. Los desplazamientos de las tres masas están definidos por las coordenadas x1, x2,
y x3, respectivamente, como se muestran. Tomar k / m = 1,0.
FIGURA 1
Sistema de masa y resorte de vibración.
SOLUCIÓN
La extensión en el primer resorte, desde la izquierda, es x1 y la del segundo resorte es (x2 –
x1). Puesto que la fuerza dirigida hacia el interior debido a la extensión está dado por un
producto de la constante de resorte y la extensión, la fuerza neta que actúa sobre la primera
masa en la dirección positiva de x1 es | 2K (x2 - x1) - Kx1 |. Por lo tanto, de la segunda ley de
Newton,
(1a), donde x dos puntos, es la segunda derivada de x, con
respecto al tiempo t y es, por lo tanto, la aceleración de la masa. Del mismo modo, para las
otras masas,
(1b),
(1c).
A partir de la teoría de las vibraciones, la solución a las ecuaciones anteriores se puede tomar
como
(2), donde x1, x2, y x3 son las amplitudes de movimiento y ω es la
frecuencia natural en radianes/segundo. Si estas ecuaciones son sustituidas en las ecuaciones
de movimiento, de las ecuaciones 1, obtenemos el siguiente sistema de ecuaciones lineales
homogéneas para k/m = 1.0:
(3).
Este sistema puede escribirse en forma matricial como AX= λX (4), donde λ=ω2
(5) y
(6).
3. Una solución no trivial de la ecuación 3 sólo puede obtenerse si el determinante de la matriz de
coeficientes (A - λ) es cero. Por lo tanto,
(7).
Obtenemos el polinomio característico para este problema de valores propios mediante la
ampliación de este determinante como
-λ3
+8λ2
-17λ +6 =0 (8a).
USANDO FORTRAN PARA OBTENER TODOS LOS EIGENVALORES Y EIGENVECTORES
TENEMOS:
PROGRAM ALL_THE_EIGEIVALUES
PARAMETER (IDM=10)
DIMENSION A(IDM,IDM),RT(IDM,IDM)
REAL LAMBDA(IDM)
PRINT *,'NUMBER OF EQUATIONS ARE:'
READ(5,*)N
PRINT*,''
PRINT*,'INGRESAR ELEMENTOS DE LA MATRIZ A POR FILAS'
READ(5,*)((A(I,J),J=1,N),I=1,N)
PRINT*,''
PRINT*,('*',I=1,79)
PRINT '(5X,"RESULTADOS")'
PRINT*,('*',I=1,79)
DO 20 I=1,N
DO 10 J=1,N
RT(I,J)=0.0
10 CONTINUE
RT(I,I) = 1.0
20 CONTINUE
NSWEEP= 0
30 NRSKIP= 0
NMIN1=N-1
DO 130 I=1,NMIN1
IP1=I+1
DO 120 J=IP1,N
AV=0.5*(A(I,J)+A(J,I))
DIFF=A(I,I)-A(J,J)
RAD=SQRT(DIFF*DIFF+4.0*AV*AV)
IF(RAD.EQ.0.0) GO TO 80
IF(DIFF.LT.0.0) GO TO 60
IF(ABS(A(I,I)).EQ.ABS(A(I,I))+100.*ABS(AV)) GO TO 40
GO TO 40
40 IF( ABS(A(J,J)).EQ.ABS(A(J,J))+100.*ABS(AV)) GO TO 80
50 COSINE=SQRT((RAD+DIFF)/(2.0*RAD))
SINE=AV/(RAD*COSINE)
GO TO 70
60 SINE = SQRT((RAD-DIFF)/(2.0*RAD))
IF(AV.LT.0.0) SINE=-SINE
COSINE=AV/(RAD*SINE)
70 IF(1.0.LT.1.0+ABS(SINE)) GO TO 90
80 NRSKIP=NRSKIP+1
GO TO 120
90 DO 100 K=1,N
Q=A(I,K)
4. A(I,K)=COSINE*Q+SINE*A(J,K)
A(J,K)=-SINE*Q+COSINE*A(J,K)
100 CONTINUE
DO 110 K=1,N
Q=A(K,I)
A(K,I)= COSINE*Q+SINE*A(K,J)
A(K,J)= -SINE*Q+COSINE*A(K,J)
Q = RT(K,I)
RT(K,I)=COSINE*Q+SINE*RT(K,J)
RT(K,J)=-SINE*Q+COSINE*RT(K,J)
110 CONTINUE
120 CONTINUE
130 CONTINUE
NSWEEP=NSWEEP+1
IF(NSWEEP.GT.50) GO TO 140
IF(NRSKIP.LT.N*(N-1)/2) GO TO 30
140 CONTINUE
DO 150 J=1,N
LAMBDA(J)=A(J,J)
150 CONTINUE
PRINT*,''
PRINT '(2X,"LOS VALORES PROPIOS APROXIMADOS SON:")'
PRINT '(/F9.3)',(LAMBDA(I),I=1,N)
PRINT '(/2X,"LOS VECTORES FILAS ASOCIADOS APROXIMADAMENTE SON:")'
PRINT '(/3F9.3/)',((RT(I,J),I=1,N),J=1,N)
STOP
END
5. ” 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
“APLICACIÓN CON EL MÉTODO DE ADAMS-
BASHFORTH CON CAMBIO DE VARIABLE EN EDO
DE ORDEN SUPERIOR”
ALUMNO:
MARCO ANTONIO ALPACA CHAMBA
ESCUELA PROFESIONAL:
FÍSICA
FORTRAN 90
Ciudad universitaria, 20 de Noviembre del 2014
6. SOLUCIÓN BASADA EN LA INTEGRACIÓN NUMÉRICA (MÉTODO DE
ADAMS- BASHFORTH) AL PROBLEMA DE UN SISTEMA VIBRATORIO
AMORTIGUADO.
Enunciado del problema: Un sistema vibratorio que consiste de una masa (m=1/5 de
slug o kilogramo) unida a un resorte (k=2 lb/pie o N/m). La masa se libera inicialmente
desde el reposo ½ unidad (pie o metro) debajo de la posición de equilibrio. El movimiento
es amortiguado y está siendo impulsado por una fuerza periódica externa (T=ӆ/2 s) f=
5cos4t comenzando en t=0 con β=2. Calcular la posición en t=0.4
Movimiento vertical oscilatorio de apoyo
Solución:
La formulación de la segunda ley de Newton da lugar a la ecuación diferencial de
movimiento forzado:
Reemplazando los datos tenemos:
Cuya solución es:
Evaluando:
= 0.996051
Usando Euler:
7. 𝑌𝑌𝑛𝑛+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(I
DM),R(IDM,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 PARA EDO DE LA FORMA
y''=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)=-6*(Z(J))-10*(Y(J))+25*(COS(4*(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
8. 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,'LA PREDICTOR FORMULA DA:'/)
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,'LA PREDICTOR FORMULA DA:'/)
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
10. ” 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
“APLICACIÓN CON EL MÉTODO DE ADAMS-
BASHFORTH PARA EDO DE PRIMER ORDEN”
ALUMNO:
MARCO ANTONIO ALPACA CHAMBA
ESCUELA PROFESIONAL:
FÍSICA
Ciudad universitaria, 20 de Noviembre del 2014
11. IMPACTO DE UN COCHE CONTRA UNA BARRERA 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 y representar la velocidad del coche en función de su
posición para 0 ≤ x ≤ 3 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 el intervalo 0 ≤ x ≤ 3.0 m con la condición inicial v=90 km/h en x=0
Usando Euler:
𝑌𝑌𝑛𝑛+1 = 𝑌𝑌𝑛𝑛 + ∆𝑥𝑥 𝐹𝐹(𝑋𝑋𝑛𝑛, 𝑌𝑌𝑛𝑛)
Usando Adams-Bashforth:
𝑌𝑌𝑛𝑛+1 = 𝑌𝑌𝑛𝑛 +
∆𝑋𝑋
24
[55𝐹𝐹𝑛𝑛 − 59𝐹𝐹𝑛𝑛−1 + 37𝐹𝐹𝑛𝑛−2 − 9𝐹𝐹𝑛𝑛−3]
Por lo tanto, haciendo 14 iteraciones resulta:
12. TAMBIÉN SE VISUALIZA EL GRÁFICO:
PROGRAM ADAMS_BASHFORTH
PARAMETER (IDM=100)
DIMENSION D(IDM,IDM),X(IDM), Y(IDM),F(IDM), Z(IDM),T(IDM)
REAL H,P,P1,P2,S,S1,S2,VAL,VAL1,VAL2,U1,U2,U,H1,SUM
REAL,PARAMETER:: A=0.0; B=1.0; M=60
PRINT*, '=========================================================='
PRINT*,'METHOD DE ADAMS-BASHFORTH PARA EDO DE LA FORMA
DY/DX=F(X,Y)'
13. PRINT*,'============================================================
'
PRINT*,''
PRINT*,'INGRESAR EL VALOR DE N'
READ(5,*)N
PRINT*,''
PRINT*, 'INGRESAR LOS VALORES INICIALES X0 E Y0'
READ*, X(0),Y(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')
DO I=0,N
X(I+1)=X(I)+H
ENDDO
DO J=0,N
F(J)=(-0.02)*(Y(J)**2)*((X(J)+1)**3)
Z(J+1)=Y(J)+H*F(J)
T(J)=(-0.02)*(Z(J+1)**2)*((X(J+1)+1)**3)
IF (J.EQ.N) GOTO 10
Y(J+1)=Y(J)+((H*0.5)*(F(J)+T(J)))
PRINT*,J+1,X(J+1),Y(J+1)
10 ENDDO
PRINT 110
110 FORMAT(/3X,'ADAMS-BASHFORTH APROXIMATION:'/)
DO 6 L=0,N
D(0,L)=F(L)
6 CONTINUE
DO 11 I=1,N
DO 12 J=0,N-I
D(I,J)=D(I-1,J+1)-D(I-1,J)
12 CONTINUE
11 CONTINUE
! PRINT*,''
! DO I=0,N
! PRINT '(I3,10F9.3)',I+1,X(I),(D(I,K),K=0,N-I)
! ENDDO
! PRINT*,''
U1=A
S1=0.0
P1=1.0
DO I=1,N
P1=P1*(U1+I-1)/I
16. ” 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
“APLICACIÓN CON EL MÉTODO DE ADAMS-
MOULTON PARA EDO DE PRIMER ORDEN”
ALUMNO:
MARCO ANTONIO ALPACA CHAMBA
ESCUELA PROFESIONAL:
FÍSICA
Ciudad universitaria, 15 de Noviembre del 2014
17. SOLUCIÓN BASADA EN LA INTEGRACIÓN NUMÉRICA (MÉTODO DE ADAMS-
MOULTON).
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,0524 (que divide θ0 en
segmentos iguales) y n = 15 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:
𝑌𝑌𝑛𝑛+1 = 𝑌𝑌𝑛𝑛 +
∆𝑋𝑋
24
[9𝐹𝐹𝑛𝑛+1 − 19𝐹𝐹𝑛𝑛 − 5𝐹𝐹𝑛𝑛−1 + 𝐹𝐹𝑛𝑛−2]
Utilizando fortran 90 tenemos:
PROGRAM ADAMS_MOULTON
PARAMETER (IDM=150)
DIMENSION D(IDM,IDM),X(IDM),Y(IDM),F(IDM),Z(IDM),T(IDM)
REAL
H,P,P1,P2,S,S1,S2,VAL,VAL1,VAL2,U1,U2,U,H1,SUM,H2,VAL10,VAL20,VAL30
REAL,PARAMETER:: A=0.0; B=1.0; M=1000 ;E=-1.0 ; G=0.0
PRINT*, '=========================================================='
PRINT*,'METHOD DE ADAMS-MOULTON PARA EDO DE LA FORMA DY/DX=F(X,Y)'
PRINT*,'============================================================
'
PRINT*,''
PRINT*,'INGRESAR EL VALOR DE N'
READ(5,*)N
PRINT*,''
PRINT*, 'INGRESAR LOS VALORES INICIALES X0 E Y0'
READ*, X(0),Y(0)
PRINT*,''
PRINT*, 'INGRESAR H'
READ*, H
PRINT*,''
PRINT*,('*',I=1,79)
PRINT '(5X,"RESULTADOS")'
18. 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')
DO I=0,N
X(I+1)=X(I)+H
ENDDO
DO J=0,N
F(J)=-9.8*(Y(J))*SIN(X(J))*(1/(0.00145*(Y(J)**2)-9.8*COS(X(J))))
Z(J+1)=Y(J)+H*F(J)
T(J)=-9.8*(Z(J+1))*SIN(X(J+1))*(1/(0.00145*(Z(J+1)**2)-9.8*COS(X(J+1))))
IF (J.EQ.N) GOTO 10
Y(J+1)=Y(J)+((H*0.5)*(F(J)+T(J)))
PRINT*,J+1,X(J+1),Y(J+1)
10 ENDDO
PRINT 110
110 FORMAT(/3X,'ADAMS-BASHFORTH APROXIMATION:'/)
DO 6 L=0,N+1
D(0,L)=F(L)
6 CONTINUE
DO 11 I=1,N+1
DO 12 J=0,N+1-I
D(I,J)=D(I-1,J+1)-D(I-1,J)
12 CONTINUE
11 CONTINUE
U1=A
S1=0.0
P1=1.0
DO I=1,N
P1=P1*(U1+I-1)/I
S1=S1+P1*D(I,N-I)
ENDDO
VAL1=S1+D(0,N)
U2=B
S2=0.0
P2=1.0
DO I=1,N
P2=P2*(U2+I-1)/I
S2=S2+P2*D(I,N-I)
ENDDO
VAL2=S2+D(0,N)
H1=(B-A)/REAL(M)
SUM=0.5*(VAL1+VAL2)
DO J=1,M-1
U=A+J*H1
S=0.0
P=1.0
DO 15 I=1,N
P=P*(U+I-1)/I
19. S=S+P*D(I,N-I)
15 CONTINUE
VAL=S+D(0,N)
SUM =SUM+ VAL
END DO
SUM = H1*SUM
WRITE (*,115) SUM
115 FORMAT(/3X,'LA INTEGRAL RESULTA=',F10.5/)
!PREDICTOR FORMULA
F(N+1)=Y(N)+H*SUM
WRITE (*,117) F(N+1)
117 FORMAT(/3X,'DE LA PREDICTOR FORMULA RESULTA Y(P)(N+1)=',F10.5/)
D(0,N+1)=F(N+1)
DO I=1,N
J=N+1-I
D(I,J)=D(I-1,J+1)-D(I-1,J)
ENDDO
! DO I=0,N
! PRINT '(I3,10F9.3)',I,(D(I,K),K=0,N+1-I)
! ENDDO
PRINT 118
118 FORMAT(/3X,'ADAMS-MOULTON APROXIMATION:'/)
U10=E
S10=0.0
P10=1.0
DO I=1,N
P10=P10*(U10+I-1)/I
S10=S10+P10*D(I,N+1-I)
ENDDO
VAL10=S10+D(0,N+1)
U20=G
S20=0.0
P20=1.0
DO I=1,N
P20=P20*(U20+I-1)/I
S20=S20+P20*D(I,N+1-I)
ENDDO
VAL20=S20+D(0,N+1)
H2=(G-E)/REAL(M)
SUM1=0.5*(VAL10+VAL20)
DO J=1,M-1
U30=E+J*H2
S30=0.0
P30=1.0
DO 16 I=1,N
P30=P30*(U30+I-1)/I
S30=S30+P30*D(I,N+1-I)
16 CONTINUE
VAL30=S30+D(0,N+1)
SUM1 =SUM1+ VAL30
END DO
20. SUM1 = H2*SUM1
WRITE (*,119) SUM1
119 FORMAT(/3X,'LA INTEGRAL RESULTA=',F10.4/)
! CORRECTOR FORMULA
Y(N+1)=Y(N)+H*SUM1
WRITE (*,121) Y(N+1)
121 FORMAT(/3X,'DE LA CORRECTOR FORMULA RESULTA Y(C)(N+1)=',F10.4/)
PRINT*, ' POR LO TANTO,LUEGO DE',N,'-ITERACIONES LA VELOCIDAD ES:'
PRINT*,''
WRITE (*,120) X(N+1),Y(N+1)
PRINT*,''
120 FORMAT (10X,'Y(',F7.3,')=',F12.4)
PRINT*,''
STOP
END PROGRAM
21.
22. ” 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
“APLICACIÓN CON EL MÉTODO DE ADAMS-
MOULTON PARA EDO DE PRIMER ORDEN”
ALUMNO:
MARCO ANTONIO ALPACA CHAMBA
ESCUELA PROFESIONAL:
FÍSICA
Ciudad universitaria, 20 de Noviembre del 2014
23. SOLUCIÓN BASADA EN LA INTEGRACIÓN NUMÉRICA (MÉTODO DE ADAMS-
MOULTON).
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 = 130 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:
𝑌𝑌𝑛𝑛+1 = 𝑌𝑌𝑛𝑛 +
∆𝑋𝑋
24
[9𝐹𝐹𝑛𝑛+1 − 19𝐹𝐹𝑛𝑛 − 5𝐹𝐹𝑛𝑛−1 + 𝐹𝐹𝑛𝑛−2]
Utilizando fortran 90 tenemos:
PROGRAM ADAMS_MOULTON
PARAMETER (IDM=150)
DIMENSION D(IDM,IDM),X(IDM), Y(IDM),F(IDM), Z(IDM),T(IDM),SUM1(IDM)
,VAL(IDM),VAL1(IDM),SUM2(IDM)
REAL(4) H,P,P1
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 PARA EDO DE LA FORMA DY/DX=F(X,Y)'
PRINT*,'============================================================
'
PRINT*,''
PRINT*,'INGRESAR EL VALOR DE N'
READ(5,*)N
PRINT*, 'INGRESAR LOS VALORES INICIALES X0 E Y0'
READ*, X(0),Y(0)
PRINT*, 'INGRESAR H'
READ*, H
PRINT*,''
PRINT*,('*',I=1,79)
24. PRINT '(5X,"RESULTADOS")'
PRINT*,('*',I=1,79)
!APLICANDO EULER- CAUCHY
PRINT 90
90 FORMAT(3X,'EULER-CAUCHY APROXIMATION MEJORADA:'/)
PRINT 100
100 FORMAT(4X,'ITERATION',5X ,'X',16X,'Y')
DO I=0,N
X(I+1)=X(I)+H
ENDDO
DO J=0,N
F(J)=-9.8*(Y(J))*SIN(X(J))*(1/(0.00145*(Y(J)**2)-9.8*COS(X(J))))
Z(J+1)=Y(J)+H*F(J)
T(J)=-9.8*(Z(J+1))*SIN(X(J+1))*(1/(0.00145*(Z(J+1)**2)-9.8*COS(X(J+1))))
IF (J.EQ.N) GOTO 10
Y(J+1)=Y(J)+((H*0.5)*(F(J)+T(J)))
PRINT*,J+1,X(J+1),Y(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)=Y(N)+SUM1(I+1)
1 ENDDO
PRINT*,''
P=VAL(N+1)
PRINT 115
115 FORMAT(/3X,'LA PREDICTOR FORMULA DA:'/)
WRITE (*,116)N+1,P
116 FORMAT (2X,'YP(',I3,')=',F12.4)
PRINT 117
117 FORMAT(/3X,'ADAMS-MOULTON APROXIMATION:'/)
DO I=0,N
K=I+1
IF(K.GE.5)GOTO 2
IF(I.EQ.0) THEN
SUM1(I)=0.0
D(0,N+1-I)=P
25. ENDIF
SUM2(I+1)=(SUM2(I)+(CC(K)*H/24*D(0,N+1-I)))
WRITE (*,118)I+1,CC(K)
118 FORMAT (2X,'CC(',I2,')=',F12.4)
VAL1(N+1)=Y(N)+SUM2(I+1)
2 ENDDO
P1=VAL1(N+1)
PRINT 119
119 FORMAT(/3X,'LA CORRECTOR FORMULA DA:'/)
WRITE (*,120)N+1,P1
120 FORMAT (2X,'YC(',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
26.
27.
28.
29.
30. PROGRAM ADAMS_MOULTON
REAL :: Z(0:150,0:150),X(0:150),H,I,NP,ZF(160),TOL,R(0:150,0:150)
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)'
31. PRINT*,'============================================================
'
PRINT*,''
PRINT*,'INGRESAR EL NUMBER DE PUNTOS (NP)'
READ(5,*)NP
PRINT*, 'INGRESAR LOS VALORES INICIALES X0 E Y0'
READ*, X(0),Z(0,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
PRINT 90
90 FORMAT(3X,'EULER-CAUCHY APROXIMATION MEJORADA:'/)
PRINT 100
100 FORMAT(4X,'ITERATION',5X ,'X',16X,'Y')
ZF(0)=Z(0,0) !NOS SIRVE COMO PUNTO DE PARTIDA
DO L=1,NP
X(L)=X(0)+L*H
ENDDO
PRINT*,0,X(0),Z(0,0)
DO N=1,3
R(0,N)= Z(0,N-1)+H*F(X(N-1),Z(0,N-1))
Z(0,N)=Z(0,N-1)+(0.5)*H*(F(X(N-1),Z(0,N-1))+F(X(N),R(0,N)))
ZF(N)=Z(0,N)
PRINT*,N,X(N),Z(0,N)
END DO
PRINT*,''
PRINT 111
111 FORMAT(/3X,'ADAMS-MOULTON APROXIMATION:'/)
DO J=1,4
WRITE (*,112)J,CC(J)
112 FORMAT (2X,'CC(',I2,')=',F12.4)
ENDDO
PRINT 113
113 FORMAT(9X ,'X',19X,'Y')
DO N=3,NP
I=0
10 I=I+1
Z(I,N)=ZF(N-1)+h/24*(9*F(X(N),ZF(N))+19*F(X(N-1),ZF(N-1))-5*F(X(N-2),ZF(N-
2))+F(X(N-3),ZF(N-3)))
ZF(N)=Z(I,N)
!CALCULAMOS LA CONVERGENCIA
EE=ABS(Z(I,N)-Z(I-1,N)) !ERROR ENCONTRADO
IF (EE.GT.TOL) THEN
GOTO 10
32. END IF
ZF(N+1)=Z(I,N)
PRINT*, X(N),ZF(N)
ENDDO
PRINT*,''
PRINT*,' POR LO TANTO,LUEGO DE LAS ITERACIONES OBTENEMOS:'
PRINT*,''
WRITE (*,121) X(NP),ZF(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
33.
34.
35.
36. ” 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
“APLICACIÓN CON LA FÓRMULA DE
APROXIMACIÓN DDNGB (U≠ 0)”
ALUMNO:
MARCO ANTONIO ALPACA CHAMBA
ESCUELA PROFESIONAL:
FÍSICA
Ciudad universitaria, 30 de Octubre del 2014
37. Una varilla está girando en un plano. La tabla muestra el ángulo Θ (radianes) a través
del cual la varilla toma varios valores en el instante t en segundos.
Encontrar la velocidad angular y la aceleración angular de la varilla cuando t = 0.7
segundos.
SOLUCIÓN:
Utilizando las fórmulas:
𝐹𝐹𝑚𝑚
′ (𝑢𝑢) =
1
∆𝑥𝑥
� ∇𝑡𝑡
𝑓𝑓𝑘𝑘 �
𝑢𝑢 + 𝑡𝑡 − 1
𝑡𝑡
�
𝑚𝑚
𝑡𝑡=1
�
1
𝑢𝑢 + 𝑖𝑖
+ 𝐸𝐸
𝑡𝑡−1
𝑖𝑖=0
𝐹𝐹𝑚𝑚
" (𝑢𝑢) =
1
∆𝑥𝑥2
� ∇𝑡𝑡
𝑓𝑓𝑘𝑘 �
𝑢𝑢 + 𝑡𝑡 − 1
𝑡𝑡
� � �
1
(𝑢𝑢 + 𝑖𝑖) (𝑢𝑢 + 𝑗𝑗)
𝑡𝑡−1
𝑗𝑗=0
𝑗𝑗≠𝑖𝑖
𝑡𝑡−1
𝑖𝑖=0
+ 𝐸𝐸
𝑚𝑚
𝑡𝑡=2
Por lo tanto la velocidad angular y la aceleración angular en t = 0,6 segundos son 4.496
rad/s y 6.82 rad/s2
respectivamente.
38. PROGRAM DNGB
!U≠0
PARAMETER (IDM=10)
DIMENSION D(IDM,IDM),X(IDM), F(IDM)
REAL Z,S,P,VAL,H,L
INTEGER N
PRINT*, '====================================================='
PRINT*,' INTERPOLATION DE LA PRIMERA DERIVADA DNGB '
PRINT*,' BACKWARD '
PRINT*,' PARA UN VALOR INTERMEDIO QUE NO ESTA EN LA TABLA'
PRINT*, '===================================================== '
PRINT*,'INGRESAR EL VALOR DE N'
READ(5,*)N
PRINT*,''
DO 5 I=0,N
PRINT*,'INGRESAR EL PUNTO',I+1
READ(5,*)X(I),F(I)
5 CONTINUE
DO 6 J=0,N
D(0,J)=F(J)
6 CONTINUE
PRINT*,''
WRITE (*,*)'INGRESE EL VALOR A INTERPOLAR'
READ(5,*) Z
PRINT*,''
PRINT*,('*',I=1,79)
PRINT '(5X,"RESULTADOS")'
PRINT*,('*',I=1,79)
H=(X(1)-X(0))
U=(Z-X(N))/H
PRINT 100
100 FORMAT(11x,'H',12X ,'Z',12x,'U')
PRINT*,H,Z,U
PRINT*,''
S=0.0
DO 11 I=1,N
DO 12 J=0,N-I
D(I,J)=D(I-1,J+1)-D(I-1,J)
12 CONTINUE
11 CONTINUE
DO I=0,N
PRINT '(I3,10F9.3)',I+1,X(I),(D(I,K),K=0,N-I)
ENDDO
PRINT*,''
39. P=1.0
DO 15 I=1,N
P=P*(U+I-1)/I
L=0
DO J=0,I-1
L=L+(1/(U+J))
ENDDO
S=S+P*D(I,N-I)*L
15 CONTINUE
VAL=S/H
PRINT*,'LA INTERPOLATION DE (',Z,')=',VAL
PRINT*,''
STOP
END
40. PROGRAM DDNGB
!U≠0
PARAMETER (IDM=10)
DIMENSION D(IDM,IDM),X(IDM), F(IDM)
REAL Z,S1,S2,P1,P2,VAL1,VAL2,VAL,H,U
INTEGER N
PRINT*, '====================================================='
PRINT*,' INTERPOLATION DE LA SEGUNDA DERIVADA DNGB '
PRINT*,' BACKWARD '
PRINT*,' PARA UN VALOR INTERMEDIO, ES DECIR U DIFERENTE 0 '
PRINT*, '===================================================== '
PRINT*,'INGRESAR EL VALOR DE N'
READ(5,*)N
PRINT*,''
DO 5 I=0,N
PRINT*,'INGRESAR EL PUNTO',I+1
READ(5,*)X(I),F(I)
5 CONTINUE
DO 6 J=0,N
D(0,J)=F(J)
6 CONTINUE
PRINT*,''
WRITE (*,*)'INGRESE EL VALOR A INTERPOLAR'
READ(5,*) Z
PRINT*,''
PRINT*,('*',I=1,79)
PRINT '(5X,"RESULTADOS")'
PRINT*,('*',I=1,79)
H=(X(1)-X(0))
U=(Z-X(N))/H
PRINT 100
100 FORMAT(11x,'H',12X ,'Z',12X,'U')
PRINT*,H,Z,U
PRINT*,''
S1=0.0
S2=0.0
P1=1.0
DO 11 I=1,N
DO 12 J=0,N-I
D(I,J)=D(I-1,J+1)-D(I-1,J)
12 CONTINUE
11 CONTINUE
DO I=0,N
PRINT '(I3,10F9.3)',I+1,X(I),(D(I,K),K=0,N-I)
ENDDO
PRINT*,''
DO 15 I=2,N
DO J=0,I-1
P1=P1*(U+J)/(J+1)
ENDDO
S1=S1+P1*D(I,N-I)
41. 15 CONTINUE
VAL1=S1
DO I=0,N-1
P2=1.0
DO J=0,N-1
IF(J.EQ.I) GOTO 20
P2=P2*(1/((U+I)*(U+J)))
20 ENDDO
S2=S2+P2
ENDDO
VAL2=S2
VAL=(VAL1*VAL2)/(H**2)
PRINT*,''
PRINT*,'LA INTERPOLATION DE (',Z,')=',VAL
PRINT*,''
STOP
END
42. ” 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
“APLICACIÓN CON LA FÓRMULA DE
APROXIMACIÓN DDST (U≠0)”
ALUMNO:
MARCO ANTONIO ALPACA CHAMBA
ESCUELA PROFESIONAL:
FÍSICA
Ciudad universitaria, 20 de Noviembre del 2014
43. La manivela AB de longitud R= 90 mm está rotando a rapidez angular constante de
dθ/dt = 5000 rev/min. La posición del pistón C se puede demostrar que varía con el
ángulo θ como:
Calcular la aceleración del pistón en θ = 36°, por diferenciación numérica.
SOLUCIÓN:
El mecanismo de un pistón conectado mediante una varilla a una manivela es un
problema clásico utilizado frecuentemente en aplicaciones de ingeniería. La manivela va
rotando con rapidez angular constante, utilizando la ecuación de la posición para ciertos
valores de θ, obtenemos los siguientes datos:
Calculando la segunda derivada tenemos:
44. La posición del pistón viene dada por:
La derivada de x con respecto al tiempo nos da la velocidad del pistón:
La segunda derivada de x con respecto al tiempo nos da la aceleración del pistón:
Reemplazando los datos tenemos:
Resultando
Por lo tanto la aceleración en θ =16° es -322.523 m/s2
PROGRAM DDST
PARAMETER (IDM=10)
DIMENSION D(IDM,IDM),X(IDM), Y(IDM)
REAL Z,S1,S2,P1,P2,P3,VAL,VAL1,Q,Q1,Q2,Q3,P,U,H,S,R1,R2,S21,S3,S31
INTEGER N,K
PRINT*, '====================================================='
PRINT*,' DDST FORMULA DE STIRLING (U DIFERENTE DE 0) '
PRINT*,'===================================================== '
PRINT*,'INGRESAR EL VALOR DE N=4'
READ(5,*)N
45. PRINT*,''
DO I=0,N
PRINT*,'INGRESAR EL PUNTO',I+1
READ(5,*)X(I),Y(I)
ENDDO
PRINT*,''
DO 6 J=0,N
D(0,J)=Y(J)
6 CONTINUE
PRINT*,''
WRITE (*,*)'INGRESE EL VALOR A INTERPOLAR'
READ (5,*) Z
PRINT*,''
PRINT*,('*',I=1,79)
PRINT '(5X,"RESULTADOS")'
PRINT*,('*',I=1,79)
DO 12 I=1,N
DO 13 J=0,N-I
D(I,J)=D(I-1,J+1)-D(I-1,J)
13 CONTINUE
12 CONTINUE
PRINT*,''
PRINT*,'TABLA DE DIFERENCIAS CON H UNIFORME'
PRINT*,''
DO I=0,N
PRINT '(I3,10F9.3)',I+1,X(I),(D(I,J),J=0,N-I)
ENDDO
PRINT*,''
H=((X(2)- X(1))*(3.141592/180))
K=((N+2)/2)-1
U=((Z-X(K))/H )*(3.141592/180)
PRINT 100
100 FORMAT(5X,'H',19X ,'Z',17X,'K', 8X,'U')
PRINT*,H,Z,K,U
S1=0.0
P1=1.0
P1=P1*U
DO L=2,K
P=((D(2*(L-1)+1,K-L)+D(2*(L-1)+1,K -(L-1)))/2)
P1=P1*(((U**2)-((L-1)**2))/((2*(L-1)+1)*(2*(L-1))))
S=P1*P
R1=0.0
DO I=1,(2*L-1)
Q1=0.0
DO J=1,(2*L-1)
IF (I.EQ.J) GOTO 10
QI=Q1+(1/((U-L+I)*(U-L+J)))
10 ENDDO
R1=R1+Q1
ENDDO
S1=S1+S*R1
46. ENDDO
S2=0.0
P2=((U**2)/2)
DO 30 M=2,K
Q=(D(2*M,K-M))
P2=P2*(((U**2)-((M-1)**2))/((2*(M-1)+2)*(2*(M-1)+1)))
S21=P2*Q
R2=0.0
DO I=1,(2*M-1)
Q2=0.0
DO J=1,(2*M-1)
IF (I.EQ.J) GOTO 20
Q2=Q2+(1/((U-M+I)*(U-M+J)))
20 ENDDO
R2=R2+Q2
ENDDO
S2=S2+S21*R2
30 CONTINUE
S3=0.0
P3=(U)
DO 40 J=2,K
Q3=(D(2*J,K-J))
P3=P3*(((U**2)-((J-1)**2))/((2*(J-1)+2)*(2*(J-1)+1)))
S31=P3*Q
R3=0.0
DO I=1,(2*J-1)
R3=R3+(1/(U-J+I))
ENDDO
S3=S3+S31*R3
40 CONTINUE
VAL=(D(K,1)+S1+S2+S3)*(1/(H**2))
VAL1=((52.3598)**2)*VAL
PRINT*,''
PRINT*,'LA ACCELERATION EN (',Z,')=',VAL1
PRINT*,''
STOP
END
47.
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
“APLICACIÓN CON LA FÓRMULA DE
APROXIMACIÓN DDST (U=0)”
ALUMNO:
MARCO ANTONIO ALPACA CHAMBA
ESCUELA PROFESIONAL:
FÍSICA
Ciudad universitaria, 20 de Noviembre del 2014
49. La tabla adjunta corresponde a la posición de un móvil. Determinar si este móvil sigue
un movimiento uniforme acelerado.
SOLUCIÓN:
Para contestar a esta pregunta se pueden seguir diferentes caminos de solución:
- una opción sería ver si un polinomio de segundo grado se ajusta a la tabla de datos.
- la segunda opción sería determinar la segunda derivada para cada punto de la tabla y
comprobar que ésta es constante.
Siguiendo esta segunda opción, ya que la tabla es equiespaciada y que se pretende
determinar la segunda derivada de la posición respecto al tiempo(la aceleración),se
utilizará el método DDST con u=0.
Los resultados de la segunda derivada para cada punto resultan ser:
La aceleración es constante y, por lo tanto, se trata de un movimiento uniforme
acelerado.
PROGRAM DDST
PARAMETER (IDM=10)
DIMENSION D(IDM,IDM),X(IDM), Y(IDM)
REAL Z,S2,P2,VAL,Q,U,H
INTEGER N,K
PRINT*, '====================================================='
PRINT*,' DDST FORMULA DE STIRLING U=0 '
PRINT*,'===================================================== '
PRINT*,'INGRESAR EL VALOR DE N , MULTIPLO DE 2'
READ(5,*)N
PRINT*,''
DO I=0,N
PRINT*,'INGRESAR EL PUNTO',I+1
READ(5,*)X(I),Y(I)
ENDDO
PRINT*,''
50. DO 6 J=0,N
D(0,J)=Y(J)
6 CONTINUE
PRINT*,''
WRITE (*,*)'INGRESE EL VALOR A INTERPOLAR'
READ (5,*) Z
PRINT*,''
PRINT*,('*',I=1,79)
PRINT '(5X,"RESULTADOS")'
PRINT*,('*',I=1,79)
DO 12 I=1,N
DO 13 J=0,N-I
D(I,J)=D(I-1,J+1)-D(I-1,J)
13 CONTINUE
12 CONTINUE
PRINT*,''
PRINT*,'TABLA DE DIFERENCIAS CON H UNIFORME'
PRINT*,''
DO I=0,N
PRINT '(I3,10F9.3)',I+1,X(I),(D(I,J),J=0,N-I)
ENDDO
PRINT*,''
H=(X(2)- X(1))
K=((N+2)/2)-1
U=(Z-X(K))/H
PRINT 100
100 FORMAT(5X,'H',19X ,'Z',17X,'K', 8X,'U')
PRINT*,H,Z,K,U
S2=0.0
P2=1.0
DO 30 M=1,K
Q=(D(2*M,K-M))
S2=S2+P2*Q
P2=P2*((-((M-1)**2))/((2*(M-1)+2)*(2*(M-1)+1)))
30 CONTINUE
VAL=S2*(1/(H**2))
PRINT*,''
PRINT*,'LA INTERPOLATION DE (',Z,')=',VAL
PRINT*,''
STOP
END
51.
52.
53. ” 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
“APLICACIÓN DE INTERPOLACIÓN NFB.”
ALUMNO:
MARCO ANTONIO ALPACA CHAMBA
ESCUELA PROFESIONAL:
FÍSICA
Ciudad universitaria, 25 de Septiembre del 2014
54. Dos partículas tienen una fuerza de interacción que varía de acuerdo a la distancia entre
ellas
Hallar la fuerza de interacción en x=4.15
Solución:
Usando la interpolación NGB tenemos:
PROGRAM NGB
REAL,DIMENSION(:), ALLOCATABLE::X,FX, T(:,:)
CHARACTER(2)::RPTA
PRINT*,'INGRESAR EL NUMBER DE PUNTOS'
READ*,M
ALLOCATE(X(0:M),FX(0:M),T(0:M,0:M))
N=M-1
DO I=0,N
PRINT*,'INGRESAR EL PUNTO',I+1
READ*,X(I),FX(I)
END DO
DO
10 PRINT*,'INGRESAR UN PUNTO A INTERPOLAR'
55. READ*,XA
IF(XA<X(0).OR.XA>X(N)) THEN
PRINT*,'ADVERTENCIA:X,ESTA FUERA DE RANGO:(',X(0),X(N),')'
GOTO 10
ENDIF
I=0
DO WHILE (I<=N-1)
T(I,0)=(FX(I+1)-FX(I))/(X(I+1)-X(I))
I=I+1
ENDDO
J=1
DO WHILE (J<=N-1)
I=J
DO WHILE (I<=N-1)
T(I,J)=(T(I,J-1)-T(I-1,J-1))/(X(I+1)-X(I))
I=I+1
ENDDO
J=J+1
ENDDO
DO J=0,N-1
ENDDO
FXINT=FX(0)
I=0
DO WHILE (I<=N-1)
P=1
J=0
DO WHILE (J<=I)
P=P*(XA-X(J))
J=J+1
ENDDO
FXINT=FXINT+T(I,I)*P
I=I+1
ENDDO
PRINT*,('*',I=1,78)
PRINT*,'EL RESULTADO DE LA INTERPOLACION (',XA,')=',FXINT
PRINT*,('*',I=1,78)
PRINT*,'CONTINUAR:(SI O NO)'
READ*, RPTA
IF(RPTA=='NO')EXIT
ENDDO
DEALLOCATE(X,FX,T)
STOP
END
56.
57. ” 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
“APLICACIÓN CON LA FÓRMULA DE
APROXIMACIÓN DNGB (U=0) ”
ALUMNO:
MARCO ANTONIO ALPACA CHAMBA
ESCUELA PROFESIONAL:
FÍSICA
Ciudad universitaria, 30 de Octubre del 2014
58. Aplicación en la Ingeniería
Se requiere la diferenciación numérica en muchas aplicaciones de la ingeniería. Por
ejemplo, la caída de tensión en la inductancia es dada como,
.
Aquí la diferenciación numérica de i da la caída de tensión en la inductancia. La
corriente en el condensador se da como,
.
Aquí la diferenciación numérica de v da la corriente a través del condensador.
La corriente que fluye a través de la inductancia como una función del tiempo se da
continuación:
tiempo, t 0 0.1 0.2 0.3 0.5 0.7
Corriente,
i 0 0.15 0.3 0.55 0.8 1.9
Determinar la caída de tensión con una inductancia de 4H en t = 0,3.
Solución.
Los datos no están espaciados de manera uniforme. Por lo tanto podemos usar los
métodos de diferenciación para los puntos nodales no uniformes. Se requiere la
derivada en t = 0.3. Por lo tanto, vamos a considerar la parte siguiente de los datos.
tiempo, x x 2 = 0.3 X1= 0.5 X0=0.7
corriente, y y2= 0.55 y1 = 0.8 y 0 = 1.9
𝐹𝐹𝑚𝑚
′ (𝑥𝑥𝑘𝑘) =
1
∆𝑥𝑥
∑
∇𝑡𝑡
𝑡𝑡
𝑓𝑓𝑘𝑘 + 𝐸𝐸𝑚𝑚
𝑡𝑡=1 (1)
La ecuación (1) da la derivada mediante interpolación DNGB con u=0, es decir, en xk,
.
59. Así di/dt en t = 0.3 es – 0.875. Por lo tanto la caída de tensión en una inductancia
es,
= - 3.5 voltios en t = 0.3 segundos
Del mismo modo, la caída de tensión en otros instantes de tiempo se puede
obtener.
PROGRAM DNGB
!U=0
PARAMETER (IDM=10)
DIMENSION D(IDM,IDM),X(IDM), F(IDM)
REAL Z,S,P,H ,VAL
INTEGER N
PRINT*,'INRESAR EL VALOR DE N'
READ(5,*)N
PRINT*,''
DO I=0,N
PRINT*,'INGRESAR EL PUNTO',I+1
READ(5,*)X(I),F(I)
END DO
DO J=0,N
D(0,J)=F(J)
ENDDO
PRINT*,''
PRINT*,'INGRESE EL VALOR A INTERPOLAR'
READ(5,*)Z
PRINT*,''
PRINT*,('*',I=1,79)
PRINT '(5X,"RESULTADOS")'
PRINT*,('*',I=1,79)
H=(X(1)-X(0))
S=0.0
DO 11 I=1,N
DO 12 J=0,N-I
D(I,J)=D(I-1,J+1)-D(I-1,J)
12 CONTINUE
11 CONTINUE
PRINT 100
100 FORMAT(11x,'Z',12X ,'H')
PRINT*,Z,H
DO I=1,N
P=1.0
DO J=0,I-1
P=P/(J+1)
ENDDO
S=S+D(I,N-I)*P
ENDDO
VAL=S/H
PRINT*,''
PRINT*,'INTERPOLATION de (',Z,')=',VAL
61. ” 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
“APLICACIÓN CON LA APROXIMACIÓN NUMÉRICA
DE LA DERIVADA DNGF.”
ALUMNO:
MARCO ANTONIO ALPACA CHAMBA
ESCUELA PROFESIONAL:
FÍSICA
Ciudad universitaria, 30 de Octubre del 2014
62. Una varilla está girando en un plano sobre uno de sus extremos. Si la tabla siguiente da
los ángulos ϴ en radianes a través del cual la varilla toma diferentes valores en el
instante de t segundos, encontrar su velocidad angular en t= 0.7 segundos.
k
t
segundos
ɵ
radianes
0 0 0
1 0.2 0.12
2 0.4 0.48
3 0.6 1
4 0.8 2
5 1 3.2
6 1.2 4.666
SOLUCIÓN:
USANDO LA APROXIMACIÓN DNGF TENEMOS:
63. Por lo tanto la Velocidad angular = 4,93 radian/sec
PROGRAM PRIMERA_DERIVADA_DNGF
REAL:: X(0:10),F(0:10),XI,H,U,M,K,DFI
PRINT*, '====================================================='
PRINT*,' INTERPOLATION DE LA PRIMERA DERIVADA DNGF '
PRINT*,' HACIA ADELANTE '
PRINT*,' PARA UN VALOR INTERMEDIO QUE NO ESTA EN LA TABLA'
PRINT*, '====================================================='
PRINT*,'INGRESE EL VALOR DE M'
READ*,M
PRINT*,''
PRINT*,'INGRESE LOS VALORES DE XI'
DO I=0,M
READ*,X(I)
END DO
PRINT*,''
PRINT*,"INGRESE LOS VALORES DE FI"
DO I=0,M
READ*,F(I)
END DO
PRINT*,''
64. PRINT*,'INGRESAR EL VALOR A EVALUAR'
READ*,XI
PRINT*,''
PRINT*,('*',I=1,79)
PRINT '(5X,"RESULTADOS")'
PRINT*,('*',I=1,79)
H=X(1)-X(0)
U=(XI-X(0))/H
WRITE (*,9) H
9 FORMAT (2X,'H=',F12.2)
WRITE (*,10) U
10 FORMAT (2X,'U=',F12.2/)
SUMA1=0
IF(M.EQ.2)THEN
GOTO 11
K=0
11 SUMA1=SUMA1+(F(K+1)-F(K))+((F(K+2)-2*F(K+1)+F(K))*((U**2-U)/2)*(1/U+1/(U-
1)))
END IF
IF(M.EQ.3)THEN
GOTO 20
K=0
20 SUMA1=SUMA1+(F(K+1)-F(K))+((F(K+2)-2*F(K+1)+F(K))*((U**2-
U)/2)*(1/U+1/(U-1)))+(F(K+3)-3*F(K+2)+3*F(K+1)-F(K))*((U**3-
3*U**2+2*U)/6)*(1/U+1/(U-1)+1/(U-2))
END IF
IF(XI.NE.X(I))THEN
ELSE
END IF
DFI=SUMA1/H
WRITE(*,21)
21 FORMAT(2X,'LA PRIMERA DERIVADA ES:'/)
PRINT '(F20.2/)',DFI
END
65.
66. ” 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
“APLICACIÓN CON LA FÓRMULA DE
APROXIMACIÓN DST (U≠ 0)”
ALUMNO:
MARCO ANTONIO ALPACA CHAMBA
ESCUELA PROFESIONAL:
FÍSICA
Ciudad universitaria, 13 de Noviembre del 2014
67. Una barra está girando en un plano. La tabla muestra el ángulo Θ (radianes) a través
del cual la barra toma varios valores en el instante t en segundos.
Encontrar la velocidad angular de la barra cuando t = 0.7 segundos.
SOLUCIÓN:
Utilizando la fórmula:
Por lo tanto la velocidad angular en t = 0.7 segundos es de 4.496 rad/s.
PROGRAM DST
PARAMETER (IDM=10)
DIMENSION D(IDM,IDM),X(IDM), Y(IDM)
REAL Z,S1,S2,P1,P2,VAL,Q,P,U,H,S,R,R1,S21,S3
INTEGER N,K
PRINT*, '====================================================='
PRINT*,' DST FORMULA DE STIRLING '
PRINT*,'===================================================== '
PRINT*,'INGRESAR EL VALOR DE N, MULTIPLO DE 2'
READ(5,*)N
PRINT*,''
DO I=0,N
PRINT*,'INGRESAR EL PUNTO',I+1
READ(5,*)X(I),Y(I)
ENDDO
PRINT*,''
DO 6 J=0,N
D(0,J)=Y(J)
6 CONTINUE
PRINT*,''
WRITE (*,*)'INGRESE EL VALOR A INTERPOLAR'
READ (5,*) Z
PRINT*,''
68. PRINT*,('*',I=1,79)
PRINT '(5X,"RESULTADOS")'
PRINT*,('*',I=1,79)
DO 12 I=1,N
DO 13 J=0,N-I
D(I,J)=D(I-1,J+1)-D(I-1,J)
13 CONTINUE
12 CONTINUE
PRINT*,''
PRINT*,'TABLA DE DIFERENCIAS CON H UNIFORME'
PRINT*,''
DO I=0,N
PRINT '(I3,10F9.3)',I+1,X(I),(D(I,J),J=0,N-I)
ENDDO
PRINT*,''
H=(X(2)- X(1))
K=((N+2)/2)-1
U=(Z-X(K))/H
PRINT 100
100 FORMAT(5X,'H',19X ,'Z',17X,'K', 8X,'U')
PRINT*,H,Z,K,U
S1=0.0
P1=1.0
P1=P1*U
DO L=1,K
P=((D(2*(L-1)+1,K-L)+D(2*(L-1)+1,K -(L-1)))/2)
S=P1*P
P1=P1*(((U**2)-(L**2))/((2*L+1)*(2*L)))
R1=0.0
DO I=1,(2*L-1)
R1=R1+(1/(U-L+I))
ENDDO
S1=S1+S*R1
ENDDO
S2=0.0
P2=((U**2)/2)
DO 30 M=1,K
Q=(D(2*M,K-M))
S21=P2*Q
P2=P2*(((U**2)-(M**2))/((2*M+2)*(2*M+1)))
R2=0.0
DO J=1,(2*M-1)
R2=R2+(1/(U-M+J))
ENDDO
S2=S2+S21*R2
30 CONTINUE
S3=0.0
P3=(U/2)
DO 40 N=1,K
R=(D(2*N,K-N))
S3=S3+P3*R
70. ” 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
“APLICACIÓN CON LA FÓRMULA DE
APROXIMACIÓN DST (U≠0)”
ALUMNO:
MARCO ANTONIO ALPACA CHAMBA
ESCUELA PROFESIONAL:
FÍSICA
Ciudad universitaria, 20 de Noviembre del 2014
71. El mecanismo de la figura mostrada tiene las dimensiones a = 100 mm, b = 120
mm, c = 150 mm, y d = 180 mm. Se puede demostrar por geometría que la relación
entre los ángulos α y β es:
Par un valor dado de alfa, puede resolverse esta ecuación trascendental para
beta. Esto se hizo con α= 0°, 5°,10°,…, 30°, los resultados son:
Si el segmento AB gira con una velocidad angular constante de 25 rad /s, al
utilizar aproximaciones por diferencias finitas de O (h2
) para tabular la velocidad
angular dβ/dt del segmento BC contra α.
Determinar la rapidez angular de BC en α=15° y en α =16°
Solución.
La rapidez angular de BC es:
, donde dβ/dα se puede calcular a partir de aproximaciones
en diferencias finitas utilizando los datos de la tabla. Tenga en cuenta que el
incremento de α es:
Los cálculos conducen a:
72. El conjunto completo de resultados es:
Por lo tanto la velocidad de BC cuando α= 15 grados sexagesimales es de -35.44 rad/s
USANDO LA FÓRMULA DE APROXIMACIÓN DST (U=0) TENEMOS:
PROGRAM DST
PARAMETER (IDM=10)
DIMENSION D(IDM,IDM),X(IDM), Y(IDM)
REAL Z,S1,P1,VAL,VAL1,P,U,H
INTEGER N,K
PRINT*, '====================================================='
PRINT*,' DST FORMULA DE STIRLING U=0 '
PRINT*,'===================================================== '
PRINT*,'INGRESAR EL VALOR DE N, MULTIPLO DE 2'
READ(5,*)N
PRINT*,''
DO I=0,N
PRINT*,'INGRESAR EL PUNTO',I+1
READ(5,*)X(I),Y(I)
ENDDO
PRINT*,''
DO 6 J=0,N
D(0,J)=Y(J)
6 CONTINUE
PRINT*,''
WRITE (*,*)'INGRESE EL VALOR A INTERPOLAR'
READ (5,*) Z
PRINT*,''
PRINT*,('*',I=1,79)
PRINT '(5X,"RESULTADOS")'
PRINT*,('*',I=1,79)
DO 12 I=1,N
DO 13 J=0,N-I
D(I,J)=D(I-1,J+1)-D(I-1,J)
13 CONTINUE
12 CONTINUE
PRINT*,''
PRINT*,'TABLA DE DIFERENCIAS CON H UNIFORME'
PRINT*,''
DO I=0,N
PRINT '(I3,10F9.3)',I+1,X(I),(D(I,J),J=0,N-I)
ENDDO
PRINT*,''
H=((X(2)- X(1))*(3.141592/180))
K=((N+2)/2)-1
U=(Z-X(K))/H
PRINT 100
73. 100 FORMAT(5X,'H',19X ,'Z',17X,'K', 8X,'U')
PRINT*,H,Z,K,U
S1=0.0
P1=1.0
DO L=1,K
P=((D(2*(L-1)+1,K-L)+D(2*(L-1)+1,K -(L-1)))/2)
S1=S1+P1*P
P1=P1*((-(L**2))/((2*L+1)*(2*L)))
ENDDO
VAL=(S1)*(1/H)
VAL1=25*VAL
PRINT*,''
PRINT*,'LA VELOCIDAD EN (',Z,')=',VAL1
PRINT*,''
STOP
END
74. PROGRAM DST
PARAMETER (IDM=10)
DIMENSION D(IDM,IDM),X(IDM), Y(IDM)
REAL Z,S1,S2,P1,P2,VAL,VAL1,Q,P,U,H,S,R,R1,S21,S3
INTEGER N,K
PRINT*, '====================================================='
PRINT*,' DST FORMULA DE STIRLING (U ≠ 0) '
PRINT*,'===================================================== '
PRINT*,'INGRESAR EL VALOR DE N, MULTIPLO DE 2'
READ(5,*)N
PRINT*,''
DO I=0,N
PRINT*,'INGRESAR EL PUNTO',I+1
READ(5,*)X(I),Y(I)
ENDDO
PRINT*,''
DO 6 J=0,N
D(0,J)=Y(J)
6 CONTINUE
PRINT*,''
WRITE (*,*)'INGRESE EL VALOR A INTERPOLAR'
READ (5,*) Z
PRINT*,''
PRINT*,('*',I=1,79)
PRINT '(5X,"RESULTADOS")'
PRINT*,('*',I=1,79)
DO 12 I=1,N
DO 13 J=0,N-I
D(I,J)=D(I-1,J+1)-D(I-1,J)
13 CONTINUE
12 CONTINUE
PRINT*,''
PRINT*,'TABLA DE DIFERENCIAS CON H UNIFORME'
PRINT*,''
DO I=0,N
PRINT '(I3,10F9.3)',I+1,X(I),(D(I,J),J=0,N-I)
ENDDO
PRINT*,''
H=((X(2)- X(1))*(3.141592/180))
K=((N+2)/2)-1
U=((Z-X(K))/H)*(3.141592/180)
PRINT 100
100 FORMAT(5X,'H',19X ,'Z',17X,'K', 8X,'U')
PRINT*,H,Z,K,U
S1=0.0
P1=1.0
P1=P1*U
DO L=1,K
P=((D(2*(L-1)+1,K-L)+D(2*(L-1)+1,K -(L-1)))/2)
S=P1*P
P1=P1*(((U**2)-(L**2))/((2*L+1)*(2*L)))
75. R1=0.0
DO I=1,(2*L-1)
R1=R1+(1/(U-L+I))
ENDDO
S1=S1+S*R1
ENDDO
S2=0.0
P2=((U**2)/2)
DO 30 M=1,K
Q=(D(2*M,K-M))
S21=P2*Q
P2=P2*(((U**2)-(M**2))/((2*M+2)*(2*M+1)))
R2=0.0
DO J=1,(2*M-1)
R2=R2+(1/(U-M+J))
ENDDO
S2=S2+S21*R2
30 CONTINUE
S3=0.0
P3=(U/2)
DO 40 N=1,K
R=(D(2*N,K-N))
S3=S3+P3*R
P3=P3*(((U**2)-(N**2))/((2*N+2)*(2*N+1)))
40 CONTINUE
VAL=(S1+S2+S3)*(1/H)
VAL1=25*VAL
PRINT*,''
PRINT*,'LA INTERPOLATION DE (',Z,')=',VAL
PRINT*,''
PRINT*,'POR LO TANTO, LA VELOCIDAD ANGUALAR EN(',Z,')=',VAL1
PRINT*,''
STOP
END
76.
77. ” 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
“APLICACIÓN CON LA FÓRMULA DE
APROXIMACIÓN DST (U=0)”
ALUMNO:
MARCO ANTONIO ALPACA CHAMBA
ESCUELA PROFESIONAL:
FÍSICA
Ciudad universitaria, 20 de Noviembre del 2014
78. El mercurio se dilata con la temperatura de forma que 135.9508 g de este elemento
ocupan a diferentes temperaturas los volúmenes que se indican en la tabla siguiente.
Sabiendo que el coeficiente de expansión cúbica (α en K-1
) se define como:
𝛼𝛼 =
1
𝑉𝑉
∗ �
𝑑𝑑𝑑𝑑
𝑑𝑑𝑑𝑑
�
Determinar dicho coeficiente de expansión cúbica del mercurio a 240 °C
SOLUCIÓN:
EL problema pide calcular una derivada en un punto tabular de una tabla
equiespaciada para obtener el valor de una magnitud, aplicaremos el método de Stirling
de DST (u=0).
𝐹𝐹2𝑛𝑛
′ (𝑥𝑥𝑘𝑘) =
1
∆𝑥𝑥
� 𝜇𝜇𝛿𝛿2𝑡𝑡−1
𝑓𝑓𝑘𝑘(−1)𝑡𝑡−1
((𝑡𝑡 − 1)!)2
(2𝑡𝑡 − 1)!
𝑛𝑛
𝑡𝑡=1
Desarrollando obtenemos, que el coeficiente de expansión lineal del mercurio a 240 °C
es 1.82664 10-4
.
PROGRAM DST
PARAMETER (IDM=10)
DIMENSION D(IDM,IDM),X(IDM), Y(IDM)
REAL Z,S1,P1,VAL,VAL1,P,U,H
INTEGER N,K
PRINT*, '====================================================='
PRINT*,' DST FORMULA DE STIRLING U=0 '
PRINT*,'===================================================== '
PRINT*,'INGRESAR EL VALOR DE N, MULTIPLO DE 2'
READ(5,*)N
PRINT*,''
DO I=0,N
PRINT*,'INGRESAR EL PUNTO',I+1
READ(5,*)X(I),Y(I)
ENDDO
PRINT*,''
DO 6 J=0,N
D(0,J)=Y(J)
6 CONTINUE
PRINT*,''
WRITE (*,*)'INGRESE EL VALOR A INTERPOLAR'
79. READ (5,*) Z
PRINT*,''
PRINT*,('*',I=1,79)
PRINT '(5X,"RESULTADOS")'
PRINT*,('*',I=1,79)
DO 12 I=1,N
DO 13 J=0,N-I
D(I,J)=D(I-1,J+1)-D(I-1,J)
13 CONTINUE
12 CONTINUE
PRINT*,''
PRINT*,'TABLA DE DIFERENCIAS CON H UNIFORME'
PRINT*,''
DO I=0,N
PRINT '(I3,10F9.3)',I+1,X(I),(D(I,J),J=0,N-I)
ENDDO
PRINT*,''
H=(X(2)- X(1))
K=((N+2)/2)-1
U=(Z-X(K))/H
PRINT 100
100 FORMAT(5X,'H',19X ,'Z',17X,'K', 8X,'U')
PRINT*,H,Z,K,U
S1=0.0
P1=1.0
DO L=1,K
P=((D(2*(L-1)+1,K-L)+D(2*(L-1)+1,K -(L-1)))/2)
S1=S1+P1*P
P1=P1*((-(L**2))/((2*L+1)*(2*L)))
ENDDO
VAL=(S1)*(1/H)
VAL1=VAL*(1/(D(0,K)))
PRINT*,''
PRINT*,'LA INTERPOLATION DE (',Z,')=',VAL
PRINT*,''
PRINT*,'POR LO TANTO ,EL COEFICIENTE LINEAL ES:',VAL1
PRINT*,''
STOP
END
80.
81. ” 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
“APLICACIÓN DE LA INVERSA Y DEL
DETERMINANTE DE UNA MATRIZ.”
ALUMNO:
MARCO ANTONIO ALPACA CHAMBA
ESCUELA PROFESIONAL:
FÍSICA
Ciudad universitaria, 25 de Septiembre del 2014
82. Producción de automóviles
Resolver el problema siguiente mediante el uso de la inversa de la matriz
implicada.
Una fábrica de automóviles produce dos modelos, A y B. El modelo A requiere 1 hora
de mano de obra para pintarlo y 1/2 hora de mano de obra para pulirlo; el modelo B
requiere 1 hora de mano de obra para cada proceso. Durante cada hora en que la línea
de ensamblado está funcionando, existen 100 horas de mano de obra disponibles para
el pintado y 80 horas de mano de obra para el pulido. ¿Cuántos de cada modelo
pueden producirse cada hora si todas las horas de mano de obra han de ser utilizadas?
SOLUCIÓN:
Sea x=el número de automóviles de modelo A, y=el número de automóviles de modelo
B.
El sistema de ecuaciones es:
Sea la matriz A
Por lo tanto 40 del modelo A y 60 del modelo B pueden producirse.
83. Usando el método de eliminación de Gauss y sustitución regresiva tenemos:
84. PROGRAM MATRIZ_INVERSA
REAL :: A(100,100),B(100,100)
PRINT*,''
PRINT*,'INVERSA DE UNA MATRIZ POR EL METHOD DE GAUSS ELIMINATION'
PRINT*,'Y SUSTITUCION REGRESIVA'
PRINT*,""
PRINT*,'INGRESE EL ORDEN (N) DEL SISTEMA'
READ*,N
PRINT*,''
PRINT*,'INGRESE LAS COMPONENTES DE LA MATRIZ A'
DO I=1,N
READ*,(A(I,J),J=1,N)
END DO
PRINT*,''
PRINT*,('*',I=1,79)
PRINT '(5X,"RESULTADO")'
PRINT*,('*',I=1,79)
DO 20 I=1,N
DO 10 J=1,N
10 B(I,J)=0.0
20 B(I,I)=1.0
DO 80 K=1,N
C=A(K,K)
IF (C==0.0) PRINT*,K,K
IF (C==0.0)STOP
DO 30 J=K,N
85. 30 A(K,J)=A(K,J)/C
DO 40 J=1,K
40 B(K,J)=B(K,J)/C
DO 70 I=1,N
IF (I==K)GOTO 70
C=A(I,K)
DO 50 J=K,N
50 A(I,J)=A(I,J)-C*A(K,J)
DO 60 J=1,K
60 B(I,J)=B(I,J)-C*B(K,J)
70 CONTINUE
80 CONTINUE
PRINT*,''
PRINT*,'LA MATRIZ INVERSA A^-1 ES'
PRINT*,''
PRINT '(2F9.3)',((B(I,J),J=1,N),I=1,N)
PRINT*,''
END
Resolviendo el mismo problema mediante el uso del determinante de la matriz
implicada.
Resolviendo el sistema siguiente utilizando la regla de Cramer.
Solución
El determinante de la matriz de coeficiente es
86. Ya que el determinante es diferente de cero, existe una solución única. Si resolvemos para x,
reemplazamos la primera columna de la matriz de coeficientes por la columna de constantes y
obtenemos:
Así 40 del modelo A y 60 del modelo B pueden producirse.
UTILIZANDO EL MÉTODO DE ELIMINACIÓN DE GAUSS PARA CALCULAR EL
DETERMINANTE TENEMOS:
87. PROGRAM DETERMINANTE
REAL :: A(10,10),E(10,10,10),T
PRINT*,''
PRINT*,'EL NUMBER DE ECUACIONES ES:'
READ*,N
PRINT*,''
PRINT*,'INGRESAR ELEMENTOS DE LA MATRIZ A POR FILAS'
DO J=1,N
READ*,(A(J,I),I=1,N)
END DO
PRINT*,''
PRINT*,('*',I=1,79)
PRINT '(5X,"RESULTADO")'
PRINT*,('*',I=1,79)
M=0
DO J=1,N
DO I=1,N
E(M,J,I)=A(J,I)
END DO
END DO
DO M=1, N-1
DO J=1,M
DO I=1,N
E(M,J,I)=E(M-1,J,I)
END DO
END DO
DO I=M+1,N
DO J=1,N
E(M,I,J)=E(M-1,I,J)-E(M-1,I,M)*E(M-1,M,J)/E(M-1,M,M)
END DO
END DO
END DO
PRINT*,('',I=1,70)
WRITE(*,*)' LA MATRIZ DIAGONALIZADA ES:'
PRINT*,''
PRINT '(2F9.3)',((E(N-1,I,J),J=1,N),I=1,N)
T=E(N-1,1,1)
DO I=2,N
T=T*E(N-1,I,I)
END DO
PRINT*,''
PRINT*,'EL VALOPR DEL DETERMINANTE ES:'
PRINT '(F20.3)',T
PRINT*,''
END
88.
89. ” 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
“MÉTODO DE JACOBI Y GAUSS SEIDEL.”
ALUMNO:
MARCO ANTONIO ALPACA CHAMBA
ESCUELA PROFESIONAL:
FÍSICA
Ciudad universitaria, 04 de Setiembre del 2014
90. PROBLEMA
MÉTODO DE JACOBI
En la figura mostrada el instante en que la esfera atada a una
cuerda es soltada. Posteriormente esta esfera choca frontal e
inelásticamente contra de mayor masa en reposo. Hallar el
valor de la velocidad de cada esfera después del choque.
Datos g=10m/s2
L=40cm
E=0,5
M=4m
Solución
Analizando las velocidades:
Antes del choque
vo =velocidad de’ A’ antes del choque
vBi =o , velocidad de B antes del choque
Después del choque
𝑉𝑉�⃗𝐴𝐴𝐴𝐴 Velocidad de A después del choque
𝑉𝑉�⃗𝐵𝐵𝐵𝐵 Velocidad de B después del choque, como es un choque inelástico
𝑒𝑒 = �
𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣 𝑣𝑣𝑣𝑣𝑣𝑣 𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟 𝑑𝑑𝑑𝑑 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 𝑑𝑑𝑑𝑑𝑑𝑑 𝑐𝑐ℎ𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜
𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣𝑣 𝑣𝑣𝑣𝑣𝑣𝑣 𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟 𝑑𝑑𝑑𝑑 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 𝑑𝑑𝑑𝑑𝑑𝑑 𝑐𝑐ℎ𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜
� = 0,5
𝑉𝑉𝐴𝐴𝐴𝐴 + 𝑉𝑉𝐵𝐵𝐵𝐵
𝑉𝑉0
= 0,5
𝑉𝑉𝐴𝐴𝐴𝐴 + 𝑉𝑉𝐵𝐵𝐵𝐵 = 0,5𝑉𝑉0……(1)
Por conservación de la cantidad de movimiento
𝑝𝑝𝑎𝑎.𝑐𝑐ℎ���������⃗ = 𝑝𝑝𝑑𝑑.𝑐𝑐ℎ���������⃗
𝑚𝑚𝑣𝑣0����⃗ = 𝑀𝑀𝑣𝑣𝐵𝐵𝐵𝐵������⃗ + 𝑚𝑚𝑣𝑣𝐴𝐴𝐴𝐴������⃗
mvo =4mvBF-mvFA
v0=4vBF-vBA (2)
HALLANDO v0
EM=energía mecánica
EM(A)=EM(B)
mgH= mvo
2
Remplazando los datos
vo =2m/s
Entonces (1) y (2)
𝑉𝑉𝐴𝐴𝐴𝐴 + 𝑉𝑉𝐵𝐵 𝐵𝐵 = 1𝑚𝑚/𝑠𝑠
4vBF - vBA = 2m/s
Ordenando
𝑉𝑉𝐴𝐴𝐴𝐴 + 𝑉𝑉𝐵𝐵 𝐵𝐵 = 1𝑚𝑚/𝑠𝑠
−𝑉𝑉𝐴𝐴𝐴𝐴 + 4𝑉𝑉𝐵𝐵 𝐵𝐵 = 2𝑚𝑚/𝑠𝑠
Colocando los datos en forma matricial
�
1 1
−1 4
� �
𝑉𝑉𝐴𝐴𝐴𝐴
𝑉𝑉𝐵𝐵 𝐵𝐵
� = �
1
2
�
Sean los vectores prueba
𝑋𝑋1
0
= 0,5
𝑋𝑋2
0
= 0,4
92. 𝑥𝑥1
3
=0,35
i=2
𝑎𝑎22 𝑥𝑥2
3
= 𝑏𝑏2 − 𝑎𝑎21 𝑥𝑥1
2
(4)( 𝑥𝑥2
3
) =2-(-1)(0,375)
𝑥𝑥2
3
=0,59375
Analizando la convergencia
�
0,35
0,59375
−
0,375
0,65
� =
0,025
0,05625
< TOL=0,06
Por lo tanto los valores finales son
𝑥𝑥3
= �
𝑥𝑥1
3
= 0,35
𝑥𝑥2
3
= 0,59375
�
PROGRAM JACOBI
IMPLICIT NONE
INTEGER:: H,J,I,K,N
CHARACTER(40)::R*30
REAL(4) TOL, A(100,100),B(100),X(100,100)
REAL::SUMA,E
PRINT*,'SOLUTION DE SISTEMAS DE E.L.'
PRINT*,('',H=1,70)
PRINT*,'INGRERSAR ORDEN DEL SISTEMA'
READ*,N
PRINT*,('',H=1,70)
PRINT*,'INGRESAR TOLERANCIA'
READ*, TOL
PRINT*,('',H=1,70)
PRINT*,'INGRESAR ELEMENTOS DE A'
DO I=1,N
READ(*,*)( A(I,J),J=1,N)
ENDDO
PRINT*,('',H=1,70)
PRINT*,'INGRESAR ELEMENTOS DE B'
DO I=1,N
READ(*,*) B(I)
ENDDO
93. PRINT*,('',I=1,70)
PRINT*,'INGRESAR VECTOR APROXIMADO X'
K=1
DO I=1,N
READ(*,*) X(K,I)
ENDDO
10 DO I=1,N
SUMA=0
DO J=1,N
IF(J.EQ.I)THEN
ELSE
SUMA=SUMA+A(I,J)*X(K,J)
ENDIF
END DO
X(K+1,I)=(B(I)-SUMA)/A(I,I)
ENDDO
!CONVERGENCIA
DO I=1,N
E=ABS(X(K+1,I)-X(K,I))
IF(E.LE.TOL)THEN
ELSE
K=K+1
GOTO 10
ENDIF
ENDDO
PRINT*,('',H=1,70)
!PRESENTACIÓN
95. Problema 2
Método de relajación de Gauss -Seidel
En el circuito mostrado; determine el valor de la corriente que pasa por cada malla
En la malla I
� 𝜀𝜀 = � 𝐼𝐼 𝐼𝐼
(26-8)=I1 *(6) + (I1+I2)*18
4I1 + 3I2=3 ……………… (α)
En la malla II
� 𝜀𝜀 = � 𝐼𝐼 𝐼𝐼
(26-8)=I2 *(9) + (I1+I2)*18
2I1 + 3I2=2 ……………. (β)
Colocando los datos de forma matricial
�
4 3
2 3
� �
𝑖𝑖1
𝑖𝑖2
� = �
13
2
� TOL =0,02
𝑋𝑋1
0
= 0,6
𝑋𝑋2
0
= 0,30
97. ! RELAJACION DE GAUSS SEIDEL (GSR)
PROGRAM METODOGSR
IMPLICIT NONE
INTEGER:: H,J,I,K,N
CHARACTER (40)::R*30
REAL (4) TOL, A (100,100), B (100), X(100,100)
REAL:: E,SUMA1,SUMA2
PRINT*,'SOLUTION DE SISTEMAS DE E.L.'
PRINT*,('',H=1,70)
PRINT*,'INGRERSAR ORDEN DEL SISTEMA'
READ*,N
PRINT*,('',H=1,70)
PRINT*,'INGRESAR TOLERANCIA'
READ*, TOL
PRINT*,('',H=1,70)
PRINT*,'INGRESAR ELEMENTOS DE A'
DO I=1,N
READ (*,*)( A(I,J),J=1,N)
ENDDO
PRINT*,('',H=1,70)
PRINT*,'INGRESAR ELEMENTOS DE B'
DO I=1,N
READ(*,*) B(I)
ENDDO
PRINT*,('',I=1,70)
PRINT*,'INGRESAR VECTOR APROXIMADO X'
K=1
DO I=1,N
READ(*,*) X(K,I)
ENDDO
! CÁLCULO NUMERICO
10 DO I=1,N
SUMA1=0
98. 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
!CONVERGENCIA
DO I=1,N
E=ABS(X(K+1,I)-X(K,I))
IF(E.LE.TOL)THEN
ELSE
K=K+1
GOTO 10
ENDIF
ENDDO
PRINT*,('',H=1,70)
! PRESENTACIÓN
R=' RESULTADOS'
PRINT*,('*',H=1,70)
PRINT*,('',H=1,20),R
PRINT*,('*',H=1,70)
PRINT*,('',H=1,70)
! PRESENTACIÓN DE RESULTADOS
WRITE(*,*) 'RESULTADO DE TODAS LAS ORDENES'
DO I=1,K+1
WRITE(*,*) (X(I,J),J=1,N)
END DO
PRINT*,('',H=1,70)
PRINT*,'SOLUTION DEL SISTEMA'
DO I=1,N
100. ” 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
CURSO DE FÍSICA TEÓRICA COMPUTACIONAL I
“MODELO DE UNA BARRA CALENTADA CON
INTERPOLACIÓN NGB.”
ALUMNO:
MARCO ANTONIO ALPACA CHAMBA
ESCUELA PROFESIONAL:
FÍSICA
Ciudad universitaria, 23 de Octubre del 2014
101. MODELO DE UNA BARRA CALENTADA.
Antecedentes.
Las ecuaciones algebraicas lineales pueden surgir cuando modelan sistemas
distribuidos. Por ejemplo, la Figura 1 muestra una barra larga y delgada ubicada entre
dos paredes que se mantienen a temperaturas constantes. El calor fluye a través de la
barra, así como entre la barra y el aire que lo rodea. Para el caso de estado
estacionario, una ecuación diferencial basado en la conservación de calor puede ser
escrito para ese sistema como:
(1), donde T = temperatura (° C), x = distancia a lo largo de la
barra (m), h '= un coeficiente de transferencia de calor entre la barra y el aire que lo
rodea (m-2), y Ta = la temperatura del aire (° C).
FIGURA 1
Una barra uniforme no aislada ubicada entre dos paredes de constante pero distinta
temperatura. En la representación de diferencias finitas se emplean cuatro nodos
interiores.
Dados los valores de los parámetros, de las funciones forzadas, y de las condiciones
de contorno, puede utilizarse el cálculo para desarrollar una solución analítica. Por
ejemplo, si h'= 0,01, Ta = 20, T (0) = 40, y T (10) = 200, la solución es:
(2).
Aunque esto proporciona una solución aquí, el cálculo no funciona para todos estos
problemas. En tales casos, los métodos numéricos proporcionan una alternativa
valiosa. En este caso de estudio, utilizaremos diferencias finitas para transformar esta
ecuación diferencial en un sistema tridiagonal de ecuaciones algebraicas lineales que
puede resolverse fácilmente utilizando los métodos numéricos que se aprendieron en el
curso.
SOLUCIÓN.
La ecuación (1) puede transformarse en un conjunto de ecuaciones algebraicas
lineales al conceptualizar la barra como consistente en una serie de nodos. Por
ejemplo, la barra de la figura. 1 se divide en seis nodos equidistantes. Dado que la
barra tiene una longitud de 10, el espaciado entre nodos es Δx = 2.
El cálculo era necesario para resolver la ecuación. (1) porque incluye una segunda
derivada. Las aproximaciones en diferencias finitas proporcionan un medio para
transformar las derivadas en formas algebraicas. Por ejemplo, la segunda derivada en
cada nodo puede aproximarse como:
102. , donde Ti designa la temperatura en el nodo i. Esta
aproximación puede ser sustituida en la ecuación. (1) para dar:
.
Agrupando términos y sustituyendo los parámetros se obtiene:
(3).
Por lo tanto, la ecuación. (1) se ha transformado de una ecuación diferencial en una
ecuación algebraica. La ecuación (3) puede ahora ser aplicada a cada uno de los
nodos interiores:
(4).
Los valores de las temperaturas fijas en los extremos, T0 = 40 y T5 = 200, pueden ser
sustituidos y ser movidos a la parte derecha. Los resultados son cuatro ecuaciones con
cuatro incógnitas expresadas en forma matricial como
(5).
Así que nuestra ecuación diferencial original se ha convertido en un sistema
equivalente de ecuaciones algebraicas lineales. En consecuencia, podemos utilizar las
técnicas descritas en clase para resolver las temperaturas. Por ejemplo, usando el
método de sobre relajación sucesiva en FORTRAN.
103. FIGURA 2
Un gráfico de la temperatura frente a la distancia a lo largo de una barra calentada.
Ambas soluciones numéricas (puntos) como analítica (líneas) se visualizan.
Además de ser un sistema lineal, observe que la ecuación. (5) también es tridiagonal.
Podemos utilizar un esquema de solución eficiente al igual que el método de sobre
relajación sucesiva para obtener la solución:
T (2)= 65.9698
T (4)= 93.7785
T (6)= 124.5382
T (8)= 159.4795
El sistema es tridiagonal porque cada nodo depende sólo de sus nodos adyacentes.
Debido a que son numerados los nodos de forma secuencial, las ecuaciones que
resultan son tridiagonales. Estos casos a menudo ocurren al resolver ecuaciones
diferenciales basadas en leyes de conservación.
USANDO EL MÉTODO DE INTERPOLACIÓN NGB TENEMOS:
! FÓRMULA DE INTERPOLACIÓN DE NEWTON GREGORY BACKWARD (NGB)
PROGRAM INTERNGB
REAL (4) X(-10:0),Y(-10:0),XI,YI,H,U,M,SUMA,FAC1,FAC2,IT,FI,FT,FIT
WRITE (*,*) 'INGRESE EL VALOR DE M'
READ (*,*) M
WRITE (*,*) 'INGRESE LOS VALORES DE XI'
DO I=-M,0
READ(*,*) X(I)
END DO
WRITE (*,*) 'INGRESE LOS VALORES DE YI'
DO I=-M,0
READ(*,*) Y(I)
104. END DO
WRITE (*,*) 'INGRESE EL VALOR A INTERPOLAR'
READ (*,*) XI
H=X(0)-X(-1)
U=(XI-X(0))/H
SUMA=0
DO I=1,M
FI=1
DO J=1,I
FI=FI*J
END DO
FAC1=U
IF (I.GT.1) THEN
DO J=2,I
FAC1=FAC1*(U+J-1)
END DO
END IF
FAC1=FAC1/FI
FAC2=0
DO T=0,I
IF (T.EQ.0) THEN
FT=1
ELSE
FT=1
DO J=1,T
FT=FT*J
END DO
END IF
FIT=I-T
IF (FIT.EQ.0) THEN
FIT=1
ELSE
FIT=1
DO J=1,(I-T)
FIT=FIT*J
END DO
END IF
IT=FI/(FT*FIT)
IF (I.EQ.1) THEN
FAC2=Y(0)-Y(-1)
ELSE
FAC2=FAC2+(-1)**(T)*IT*Y(T-I)
END IF
END DO
SUMA=SUMA+FAC1*FAC2
END DO
YI=Y(0)+SUMA
WRITE (*,*) YI
END PROGRAM
105.
106. ” 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
“APLICACIÓN CON EL MÉTODO DE NUMEROV
PARA EDO DE ORDEN SUPERIOR”
ALUMNO:
MARCO ANTONIO ALPACA CHAMBA
ESCUELA PROFESIONAL:
FÍSICA
Ciudad universitaria, 20 de Noviembre del 2014
107. 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.3)
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,NP,A,B,C,D
PRINT*,''
108. PRINT*,
'==================================================================
==='
PRINT*,'METHOD DE NUMEROV PARA EDOS DE SEGUNDO ORDEN CON
CONDICIONES INICIALES'
PRINT*,'============================================================
=========='
PRINT*,''
PRINT*,'INGRESAR EL NUMERO DE PUNTOS NP'
READ(5,*)NP
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(11X,'N',12X ,'X(N)',13X,'Y(N)')
DO N=1,NP
X(N+1)=X(N)+H
A=1+(G(X(N+1))*H**2)/12
B=1-(G(X(N))*H**2)*5/12
C=1+(G(X(N-1))*H**2)/12
D=((S(X(N+1))+10*S(X(N))+S(X(N-1)))/12)*H**2
Y(N+1)=(2*Y(N)*B-Y(N-1)*C+D)/A
PRINT*,N+1,X(N+1),Y(N+1)
END DO
PRINT*,''
END PROGRAM
FUNCTION G(X)
G=64+0*X
RETURN
END FUNCTION
FUNCTION S(X)
S=16*COS(8*X)
RETURN
END FUNCTION
109.
110. ” 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
“APLICACIÓN CON EL MÉTODO DE STORMER
PARA EDO DE ORDEN SUPERIOR”
ALUMNO:
MARCO ANTONIO ALPACA CHAMBA
ESCUELA PROFESIONAL:
FÍSICA
Ciudad universitaria, 20 de Noviembre del 2014
111. Enunciado del problema: Considere un sistema mecánico de un solo grado de libertad
en el que un resorte con constante de resorte k restaura una masa m desplazada. La
amortiguación se supone que es proporcional a la velocidad, y la función F(t) es una
fuerza externa. La ecuación de movimiento para este sistema puede escribirse como:
, donde m=2 kg, c=5, k=3 y F(t)=45exp(2t) con X(0)=2 y
X(0.05)=2.0875
SOLUCIÓN:
Reemplazando los datos tenemos:
2X”(t)-5X’(t)-3X(t)=45exp(2t) con X(0)=2 y X(0.05)=2.0875
Usando el método de Stormer:
𝑥𝑥𝑛𝑛+1 = 2𝑥𝑥𝑛𝑛 − 𝑥𝑥𝑛𝑛−1 + �45 exp(2𝑡𝑡) +
2.5𝑑𝑑𝑑𝑑
𝑑𝑑𝑑𝑑
+ 1.5𝑥𝑥� (∆𝑡𝑡2)
Usando fortran 90 tenemos:
PROGRAM STORMER_VERLET
PARAMETER (IDM=100)
DIMENSION X(IDM), ZF(IDM)
REAL H,NP,DZ,B,EE
PRINT*,''
PRINT*,
'==================================================================
==='
PRINT*,'METHOD DE NUMEROV PARA EDOS DE SEGUNDO ORDEN CON
CONDICIONES INICIALES'
PRINT*,'============================================================
=========='
PRINT*,''
PRINT*,'INGRESAR EL NUMERO DE PUNTOS NP'
READ(5,*)NP
112. PRINT*, 'INGRESAR LOS VALORES INICIALES X0 E Y(X0)'
READ*, X(0),ZF(0)
PRINT*, 'INGRESAR LOS VALORES INICIALES X1 E Y(X1)'
READ*, X(1),ZF(1)
PRINT*, 'INGRESAR H'
READ*, H
PRINT*, 'INGRESAR LA TOL'
READ*, ER
PRINT*,''
PRINT*,('*',I=1,79)
PRINT '(5X,"RESULTADOS")'
PRINT*,('*',I=1,79)
PRINT*,''
PRINT 100
100 FORMAT(11X,'N',12X ,'X(N)',13X,'ZF(N)')
DO N=1,NP
A=ZF(N)
X(N+1)=X(N)+H
10 DZ=0.5*(A-ZF(N-1))/H
B=F(X(N),ZF(N),DZ)
ZF(N+1)=2*ZF(N)-ZF(N-1)+B*H**2
EE=ABS(ZF(N+1)-A) !ERROR ENCONTRADO
IF (EE.GT.ER) THEN
A=(ZF(N+1)+A)/2
GOTO 10
END IF
WRITE (*,*) N+1,X(N+1),ZF(N+1)
END DO
PRINT*,''
END PROGRAM
FUNCTION F(X,Y,Z)
F=2.5*Z+1.5*Y+22.5*(EXP(2*X))
RETURN
END FUNCTION
113.
114. ” 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
“SOBRE RELAJACIÓN SUCESIVA
MATRIX INVERSA, DETERMINANTE.”
ALUMNO:
MARCO ANTONIO ALPACA CHAMBA
ESCUELA PROFESIONAL:
FÍSICA
Ciudad universitaria, 11 de Septiembre del 2014
115. UNA ESFERA MACIZA DE RADIO 𝑹𝑹 = 𝟐𝟐𝟐𝟐 𝒄𝒄𝒄𝒄 Y MASA 𝑴𝑴 = 𝟑𝟑𝒌𝒌𝒌𝒌, ESTÁ EN
REPOSO SOBRE UN PLANO INCLINADO DE ÁNGULO 𝜽𝜽 = 𝟑𝟑𝟑𝟑°, SOSTENIDA POR
UNA CUERDA HORIZONTAL TAL Y COMO MUESTRA LA FIGURA.
SOLUCIÓN:
De las condiciones de equilibrio:
𝑵𝑵𝑵𝑵𝑵𝑵𝑵𝑵𝟑𝟑𝟑𝟑° = 𝑻𝑻 + 𝒇𝒇𝒓𝒓 𝒄𝒄𝒄𝒄𝒄𝒄𝟑𝟑𝟑𝟑° … (𝟏𝟏)
𝑵𝑵𝑵𝑵𝑵𝑵𝑵𝑵𝟑𝟑𝟑𝟑° + 𝒇𝒇𝒓𝒓 𝒔𝒔𝒔𝒔𝒔𝒔𝟑𝟑𝟑𝟑° = 𝟑𝟑𝟑𝟑 … (𝟐𝟐)
Y de la suma de momentos
𝑻𝑻. 𝑹𝑹 − 𝒇𝒇𝒓𝒓. 𝒓𝒓 = 𝟎𝟎
→ 𝑻𝑻 = 𝒇𝒇𝒓𝒓 … (𝟑𝟑)
Así de (3) en (2) y (1):
√𝟑𝟑
𝟐𝟐
𝑵𝑵 +
𝟏𝟏
𝟐𝟐
𝑻𝑻 = 𝟑𝟑𝟑𝟑
𝟏𝟏
𝟐𝟐
𝑵𝑵 −
𝟐𝟐 + √𝟑𝟑
𝟐𝟐
𝑻𝑻 = 𝟎𝟎
Si resolvemos el sistema de forma analítica obtendremos:
𝒙𝒙𝟏𝟏 = 𝑵𝑵 = 𝟑𝟑𝟑𝟑, 𝒙𝒙𝟐𝟐 = 𝑻𝑻 = 𝟖𝟖. 𝟎𝟎𝟎𝟎𝟎𝟎𝟎𝟎 .
Ahora resolveremos este sistema de ecuaciones utilizando el método de Sobre
Relajación Sucesiva, cuya fórmula numérica es:
𝒂𝒂𝒊𝒊𝒊𝒊 𝒙𝒙𝒊𝒊
𝒌𝒌+𝟏𝟏
= 𝒘𝒘𝒃𝒃𝒊𝒊 − � 𝒂𝒂𝒊𝒊𝒊𝒊 𝒙𝒙𝒋𝒋
𝒌𝒌
𝑵𝑵
𝒋𝒋>𝒊𝒊
− � 𝒂𝒂𝒊𝒊𝒊𝒊 𝒙𝒙𝒋𝒋
𝒌𝒌+𝟏𝟏
𝑵𝑵
𝒋𝒋<𝒊𝒊
+ (𝟏𝟏 − 𝒘𝒘) � 𝒂𝒂𝒊𝒊𝒊𝒊 𝒙𝒙𝒋𝒋
𝒌𝒌
𝑵𝑵
𝒋𝒋=𝟏𝟏
De nuestro sistema de ecuaciones identificamos las matrices:
𝔸𝔸 = �
𝟎𝟎. 𝟖𝟖𝟖𝟖𝟖𝟖𝟖𝟖 𝟎𝟎. 𝟓𝟓
𝟎𝟎. 𝟓𝟓 −𝟏𝟏. 𝟖𝟖𝟖𝟖𝟖𝟖
� ; 𝔹𝔹 = �
𝟑𝟑𝟑𝟑
𝟎𝟎
� ; 𝕏𝕏𝟎𝟎
= �
𝟑𝟑𝟑𝟑. 𝟖𝟖
𝟖𝟖. 𝟒𝟒
�
Trabajaremos con una tolerancia de 0.005 y w=0.75. Iniciando nuestro proceso de
iteración:
116. ! SOBRE RELAJACIÓN SUCESIVA
PROGRAM METHOD_SRS
IMPLICIT NONE
INTEGER:: J,I,K,N
CHARACTER (40)::R*30
REAL (4) TOL, A (100,100), B (100), X(100,100)
REAL:: E,SUMA1,SUMA2,SUMA3,W
PRINT*,'SOLUTION DE SISTEMAS DE E.L.'
PRINT*,('',I=1,70)
PRINT*,'INGRERSAR ORDEN DEL SISTEMA'
READ*,N
PRINT*,('',I=1,70)
PRINT*,'INGRESAR TOLERANCIA'
READ*, TOL
PRINT*,('',I=1,70)
PRINT*,'INGRESAR ELEMENTOS DE A'
DO I=1,N
READ (*,*)( A(I,J),J=1,N)
ENDDO
PRINT*,('',I=1,70)
PRINT*,'INGRESAR ELEMENTOS DE B'
DO I=1,N
READ(*,*) B(I)
ENDDO
PRINT*,('',I=1,70)
PRINT*,'INGRESAR VECTOR APROXIMADO X'
k=1
117. DO I=1,N
READ(*,*) X(K,I)
ENDDO
PRINT*,('',I=1,70)
PRINT*,'INGRERSAR EL VALOR DE W'
READ*,W
! CÁLCULO NUMERICO
10 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
SUMA3=0
DO J=1,N
SUMA3=SUMA3+A(I,J)*X(K,J)
END DO
X(K+1,I)=(W*B(I)-SUMA1-SUMA2+(1-W)*SUMA3)/A(I,I)
END DO
!CONVERGENCIA
DO I=1,N
E=ABS(X(K+1,I)-X(K,I))
IF(E.LE.TOL) THEN
ELSE
K=K+1
GOTO 10
ENDIF
ENDDO
PRINT*,('',I=1,70)
! PRESENTACIÓN DE RESULTADOS
PRINT*,('*',I=1,70)
R=' RESULTADOS'
PRINT*,('',I=1,20),R
PRINT*,('',I=1,70)
PRINT 100
100 FORMAT(2x,'k',17x ,'x1',18x,'x2')
DO I=1,K+1
PRINT '(I3,2F20.3)',(I-1),(X(I,J),J=1,N)
ENDDO
PRINT*,('',I=1,70)
PRINT*,('*',I=1,70)
PRINT*,('',I=1,70)
PRINT*, 'LUEGO DE', K, ' ITERACIONES la solution del sistema es:'
PRINT*,('',I=1,70)
119. ELABORAR LA CODIFICACIÓN EN FORTRAN PARA CALCULAR LA INVERSA DE
LA MATRIZ A:
A= 7 6
5 9
SOLUCIÓN
PROGRAM MATRIZ_INVERSA
IMPLICIT NONE
INTEGER I,K,M,N,J
CHARACTER(40)::R*30
REAL(4) A(10,10),ID(10,10),E(10,10,10,10),B(10,10),SUMA1
PRINT*,('',I=1,70)
WRITE(*,*)'INGRESE EL ORDEN (N) DEL SISTEMA'
READ(*,*)N
WRITE(*,*)'INGRESE LAS COMPONENETES DE LA MATRIZ A'
DO I=1,N
READ(*,*) (A(I,J),J=1,N)
END DO
R=' RESULTADO'
PRINT*,('*',I=1,70)
PRINT*,('',I=1,20),R
PRINT*,('*',I=1,70)
DO K=1,N
DO I=1,N
DO J=1,N
IF (I.EQ.J)THEN
ID(I,J)=1
ELSE
ID(I,J)=0
END IF
END DO
END DO
DO M=1,N-1
DO I=1,N
DO J=1,N+1
IF(J.EQ.N+1)THEN
E(K,M-1,I,J)=ID(K,I)
ELSE
E(K,M-1,I,J)=A(I,J)
END IF
END DO
END DO
DO I=1,N
DO J=1,N+1
E(K,M,I,J)=E(K,M-1,I,J)
END DO
END DO
DO I=M+1,N
DO J=1,N+1
E(K,M,I,J)=E(K,M-1,I,J)-A(I,M)*E(K,M-1,M,J)/A(M,M)
120. END DO
END DO
END DO
B(N,K)=E(K,N-1,N,N+1)/E(K,N-1,N,N)
DO I=1,N
SUMA1=0
DO J=I+1,N
SUMA1=SUMA1+E(K,N-1,I,J)*B(J,K)
END DO
B(I,K)=(E(K,N-1,I,N+1)-SUMA1)/E(K,N-1,I,I)
END DO
END DO
WRITE(*,*)'LA MATRIZ INVERSA ES:'
DO I=1,N
PRINT '(2F20.2)',(B(I,J),J=1,N)
END DO
PRINT*,('',I=1,70)
END
ELABORAR UNA CODIFICACIÓN PARA CALCULAR EL DETERMINANTE DE LA
MATRIZ CUADRADA A:
A= 3 5 7
2 4 9
6 5 4
SOLUCIÓN:
PROGRAM DETERMINANTE
IMPLICIT NONE
INTEGER I,M,N,J
CHARACTER(40)::R*30
REAL(4) E(10,10,10),DET
PRINT*,('',I=1,70)
WRITE(*,*)'INGRESE EL ORDEN (N) DEL SISTEMA'
READ(*,*)N
PRINT*,('',I=1,70)
WRITE(*,*)'INGRESE LAS COMPONENETES DE LA MATRIZ A'
DO I=1,N
READ(*,*) (E(1,I,J),J=1,N)
END DO
R=' RESULTADOS'
PRINT*,('*',I=1,70)
121. PRINT*,('',I=1,20),R
PRINT*,('*',I=1,70)
DO M=2,N
DO I=1,N
DO J=1,N
E(M,I,J)=E(M-1,I,J)
END DO
END DO
DO I=M,N
DO J=1,N
E(M,I,J)=E(M-1,I,J)-E(M-1,I,M-1)*E(M-1,M-1,J)/E(M-1,M-1,M-1)
END DO
END DO
END DO
PRINT*,('',I=1,70)
WRITE(*,*)' LA MATRIZ DIAGONALIZADA ES:'
DO I=1,N
PRINT '(3F20.2)',(E(N,I,J),J=1,N)
END DO
DET=1
DO I=1,N
DET=DET*E(N,I,I)
END DO
PRINT*,('',I=1,70)
WRITE(*,*)'EL VALOR DEL DETERMINANTE ES:'
PRINT '(F20.2)',DET
PRINT*,('',I=1,70)
END
122. ” 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
“APLICACIÓN CON EL MÉTODO DE STORMER
PARA EDO DE ORDEN SUPERIOR”
ALUMNO:
MARCO ANTONIO ALPACA CHAMBA
ESCUELA PROFESIONAL:
FÍSICA
Ciudad universitaria, 20 de Noviembre del 2014
123. 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.55 cos(6.283𝑥𝑥) − 113.636𝑑𝑑𝑑𝑑/𝑑𝑑𝑑𝑑 − 1420.454𝑦𝑦
Usando el método de Stormer:
𝑖𝑖𝑛𝑛+1 = 2𝑖𝑖𝑛𝑛 − 𝑖𝑖𝑛𝑛−1 + [2854.55 cos(6.283𝑥𝑥) − 113.636𝑑𝑑𝑑𝑑/𝑑𝑑𝑑𝑑 − 1420.454𝑦𝑦](∆𝑡𝑡2)
Usando fortran 90 tenemos:
PROGRAM STORMER_VERLET
PARAMETER (IDM=100)
DIMENSION X(IDM), ZF(IDM)
REAL H,NP,DZ,B,EE
PRINT*,''
PRINT*,
'==================================================================
==='
PRINT*,'METHOD DE NUMEROV PARA EDOS DE SEGUNDO ORDEN CON
CONDICIONES INICIALES'
124. PRINT*,'============================================================
=========='
PRINT*,''
PRINT*,'INGRESAR EL NUMERO DE PUNTOS NP'
READ(5,*)NP
PRINT*, 'INGRESAR LOS VALORES INICIALES X0 E Y(X0)'
READ*, X(0),ZF(0)
PRINT*, 'INGRESAR LOS VALORES INICIALES X1 E Y(X1)'
READ*, X(1),ZF(1)
PRINT*, 'INGRESAR H'
READ*, H
PRINT*, 'INGRESAR LA TOL'
READ*, ER
PRINT*,''
PRINT*,('*',I=1,79)
PRINT '(5X,"RESULTADOS")'
PRINT*,('*',I=1,79)
PRINT*,''
PRINT 100
100 FORMAT(11X,'N',12X ,'X(N)',13X,'ZF(N)')
DO N=1,NP
A=ZF(N)
X(N+1)=X(N)+H
10 DZ=0.5*(A-ZF(N-1))/H
B=F(X(N),ZF(N),DZ)
ZF(N+1)=2*ZF(N)-ZF(N-1)+B*H**2
EE=ABS(ZF(N+1)-A) !ERROR ENCONTRADO
IF (EE.GT.ER) THEN
A=(ZF(N+1)+A)/2
GOTO 10
END IF
WRITE (*,*) N+1,X(N+1),ZF(N+1)
END DO
PRINT*,''
END PROGRAM
FUNCTION F(X,Y,Z)
F=2854.55*COS(6.283*X)-113.636*Z-1420.454*Y
RETURN
END FUNCTION