SlideShare una empresa de Scribd logo
1 de 125
” 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
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).
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)
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
” 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
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:
𝑌𝑌𝑛𝑛+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
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
END PROGRAM
” 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
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:
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)'
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
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
S=S+P*D(I,N-I)
15 CONTINUE
VAL=S+D(0,N)
SUM =SUM+ VAL
END DO
SUM = H1*SUM
PRINT 115
115 FORMAT(/3X,'LA INTEGRAL RESULTA:'/)
PRINT*,SUM
PRINT*,''
Y(N+1)=Y(N)+H*SUM
PRINT*,''
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
” 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
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")'
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
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
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
” 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
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)
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
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
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)'
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
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
” 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
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.
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*,''
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
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)
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
” 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
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:
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
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
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
” 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
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*,''
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
” 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
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'
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
” 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
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,
.
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
PRINT*,''
STOP
END
” 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
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:
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*,''
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
” 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
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*,''
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
P3=P3*(((U**2)-(N**2))/((2*N+2)*(2*N+1)))
40 CONTINUE
VAL=(S1+S2+S3)*(1/H)
PRINT*,''
PRINT*,'LA INTERPOLATION DE (',Z,')=',VAL
PRINT*,''
STOP
END
” 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
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:
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
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
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)))
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
” 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
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'
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
” 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
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.
Usando el método de eliminación de Gauss y sustitución regresiva tenemos:
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
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
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:
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
” 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
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
�
1 1
−1 4
� �
𝑋𝑋1
1
𝑋𝑋2
1� = �
1
2
� TOL =0.06
Primera interacción
K=0 N=2
I=1
𝑎𝑎𝑖𝑖𝑖𝑖 𝑥𝑥𝑖𝑖
𝑘𝑘+1
= 𝑏𝑏𝑖𝑖 − � 𝑎𝑎𝑖𝑖𝑖𝑖 𝑥𝑥𝑗𝑗
𝑘𝑘
𝑁𝑁
𝐽𝐽≠𝑖𝑖=1
𝑎𝑎11 𝑥𝑥1=
1
𝑏𝑏1 − 𝑎𝑎12 𝑥𝑥2
0
(1)( 𝑥𝑥1
1
)=1-(1) (0,4)
𝑥𝑥1
1
=0,6
i=2
𝑎𝑎22 𝑥𝑥2
1
= 𝑏𝑏2 − 𝑎𝑎21 𝑥𝑥1
0
(4)( 𝑥𝑥2
1
) =2-(-1)*(0,5)
𝑥𝑥2
1
=0,625
𝑥𝑥1
= �
𝑥𝑥1
1
= 0,6
𝑥𝑥2
1
= 0,625
�
Analizando la convergencia
�
0,6
0,625
−
0,5
0,4
� =
0,1
0,225
> TOL=0,06
Segunda interacción
K=1 N=2
K=1
i=1
𝑎𝑎𝑖𝑖𝑖𝑖 𝑥𝑥𝑖𝑖
𝑘𝑘+1
= 𝑏𝑏𝑖𝑖 − � 𝑎𝑎𝑖𝑖𝑖𝑖 𝑥𝑥𝑗𝑗
𝑘𝑘
𝑁𝑁
𝐽𝐽≠𝑖𝑖
𝑎𝑎11 𝑥𝑥1=
2
𝑏𝑏1 − 𝑎𝑎12 𝑥𝑥2
1
(1)( 𝑥𝑥1
2
)=1-(1) (0,625)
𝑥𝑥1
2
=0,375
i=2
𝑎𝑎22 𝑥𝑥2
2
= 𝑏𝑏2 − 𝑎𝑎21 𝑥𝑥1
1
(4)( 𝑥𝑥2
1
) =2-(1)(0,6)
𝑥𝑥2
2
=0,65
Analizando la convergencia
�
0,375
0,65
−
0,6
0,625
� =
0,225
0,025
> TOL =0,06
Tercera interacción:
K=2 N=2
K=2
i=1
𝑎𝑎𝑖𝑖𝑖𝑖 𝑥𝑥𝑖𝑖
𝑘𝑘+1
= 𝑏𝑏𝑖𝑖 − � 𝑎𝑎𝑖𝑖𝑖𝑖 𝑥𝑥𝑗𝑗
𝑘𝑘
𝑁𝑁
𝐽𝐽≠𝑖𝑖
𝑎𝑎11 𝑥𝑥1=
3
𝑏𝑏1 − 𝑎𝑎12 𝑥𝑥2
2
(1)( 𝑥𝑥1
3
)=1-(1) (0,65)
𝑥𝑥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
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
R=' RESULTADOS'
PRINT*,('*',H=1,70)
PRINT*,('',H=1,20),R
PRINT*,('*',H=1,70)
PRINT*,'SOLUTION DEL SISTEMA'
DO I=1,N
PRINT*,X(K+1,I)
ENDDO
PRINT*,('',H=1,70)
PRINT*,'APPROACH',E
PRINT*,('',H=1,70)
PRINT*,'NUMBER DE ITERACIONES',K
PRINT*,('',H=1,70)
END
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
SOLUCIÓN:
�
4 3
2 3
� �
𝑋𝑋1
1
𝑋𝑋2
1� = �
3
2
�
Primera interacción:
K=0 N=2
i=1
𝑎𝑎𝑖𝑖𝑖𝑖 𝑥𝑥𝑖𝑖
𝑘𝑘+1
+ � 𝑎𝑎𝑖𝑖𝑖𝑖 𝑥𝑥𝑗𝑗
𝑘𝑘
𝑁𝑁
𝐽𝐽<𝑖𝑖
= 𝑏𝑏𝑖𝑖 − � 𝑎𝑎𝑖𝑖𝑖𝑖 𝑥𝑥𝑗𝑗
𝑘𝑘
𝑁𝑁
𝐽𝐽>𝑖𝑖
𝑎𝑎11 𝑥𝑥1
1
+ 0 = 𝑏𝑏1 − 𝑎𝑎12 𝑥𝑥2
0
4(𝑥𝑥1
1
) =3-(3)*(0.30)
𝑥𝑥1
1
=0,525
i=2
𝑎𝑎22 𝑥𝑥2
1
+ 𝑎𝑎21 𝑥𝑥1
1
= 𝑏𝑏2 − 𝑎𝑎21 𝑥𝑥1
1
3 (𝑥𝑥2
1
) =2-(2)*(0,525)
𝑥𝑥2
1
=0,316
𝑥𝑥1
= �
𝑥𝑥1
1
= 0,525
𝑥𝑥2
1
= 0,316
�
Analizando la convergencia
�
0,525
0,316
−
0,6
0,30
� =
0,075
0,016
> TOL=0,02
Segunda interacción
K=1 N=2
K=1
i=1
𝑎𝑎𝑖𝑖𝑖𝑖 𝑥𝑥𝑖𝑖
𝑘𝑘+1
+ � 𝑎𝑎𝑖𝑖𝑖𝑖 𝑥𝑥𝑗𝑗
𝑘𝑘
𝑁𝑁
𝐽𝐽<𝑖𝑖
= 𝑏𝑏𝑖𝑖 − � 𝑎𝑎𝑖𝑖𝑖𝑖 𝑥𝑥𝑗𝑗
𝑘𝑘
𝑁𝑁
𝐽𝐽>𝑖𝑖
𝑎𝑎11 𝑥𝑥1
2
+ 0 = 𝑏𝑏1 − 𝑎𝑎22 𝑥𝑥2
1
(4)(𝑥𝑥1
2
)=3-(3)*(0,316)
𝑥𝑥1
2
=0,513
i=2
𝑎𝑎22 𝑥𝑥2
2
+ 𝑎𝑎21 𝑥𝑥1
2
= 𝑏𝑏2 − 0
(3)(𝑥𝑥2
2
) =2-(2)*(0,513)
𝑥𝑥2
2
=0,324
Analizando la convergencia
�
0,513
0,324
−
0,525
0,316
� =
0,012
0,008
< TOL=0,02
Por lo tanto los resultados finales son:
𝑥𝑥2
= �
𝑥𝑥1
2
= 0,513
𝑥𝑥2
2
= 0,324
�
! 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
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
PRINT*,X(K+1,I)
ENDDO
PRINT*,('',H=1,70)
PRINT*,'APPROACH',E
PRINT*,('',H=1,70)
PRINT*,'NUMBER DE ITERACIONES',K
PRINT*,('',H=1,70)
END
” 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
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:
, 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.
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)
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
” 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
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*,''
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
” 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
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
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
” 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
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:
! 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
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)
DO I=1,N
PRINT '(2F20.3)',X(K+1,I)
ENDDO
PRINT*,('',I=1,70)
PRINT*,'CON UNA APPROACH DE:'
PRINT '(E20.2)',E
PRINT*,('',I=1,70)
END
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)
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)
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
” 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
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'
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
Fortran 90 con métodos numéricos

Más contenido relacionado

La actualidad más candente

Ejemplo del Método de Falsa Posición
Ejemplo del Método de Falsa PosiciónEjemplo del Método de Falsa Posición
Ejemplo del Método de Falsa PosiciónDaniela Medina
 
Método numérico - regla de simpson
Método numérico  - regla de simpsonMétodo numérico  - regla de simpson
Método numérico - regla de simpsonJoe Arroyo Suárez
 
Soluciones de sistema de ecuaciones en Matlab
Soluciones de sistema de ecuaciones en MatlabSoluciones de sistema de ecuaciones en Matlab
Soluciones de sistema de ecuaciones en MatlabHugo Piure
 
Distribución de temperaturas en una placa con simulación en paralelo
Distribución de temperaturas en una placa con simulación en paraleloDistribución de temperaturas en una placa con simulación en paralelo
Distribución de temperaturas en una placa con simulación en paraleloJavier García Molleja
 
Oscilaciones amortiguadas, forzadas y resonancia
Oscilaciones amortiguadas, forzadas y resonanciaOscilaciones amortiguadas, forzadas y resonancia
Oscilaciones amortiguadas, forzadas y resonanciaYuri Milachay
 
Método numérico regla de simpson
Método numérico   regla de simpsonMétodo numérico   regla de simpson
Método numérico regla de simpsonNayeli Castillo
 
Ejercicios resueltos- de metodos
Ejercicios resueltos- de metodosEjercicios resueltos- de metodos
Ejercicios resueltos- de metodosMichael Dhgfhr
 
Normalización de una función de Onda
Normalización de una función de OndaNormalización de una función de Onda
Normalización de una función de Ondajuliobran
 
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
 
MéTodo De IteracióN De Punto Fijo
MéTodo De IteracióN De Punto FijoMéTodo De IteracióN De Punto Fijo
MéTodo De IteracióN De Punto Fijolisset neyra
 
Ecuaciones Diferenciales Lineales
Ecuaciones Diferenciales LinealesEcuaciones Diferenciales Lineales
Ecuaciones Diferenciales Linealesjosmal 7
 
Métodos numéricos- Problemario
Métodos numéricos- ProblemarioMétodos numéricos- Problemario
Métodos numéricos- ProblemarioBren MA
 
Metodo romberg
Metodo rombergMetodo romberg
Metodo rombergerickbaca
 
Ejercicios raíces de funciones
Ejercicios raíces de funciones Ejercicios raíces de funciones
Ejercicios raíces de funciones Marco Jiménez
 
Pendulo fisico y torsion
Pendulo fisico y torsionPendulo fisico y torsion
Pendulo fisico y torsionDavidBarrios66
 

La actualidad más candente (20)

Ejemplo del Método de Falsa Posición
Ejemplo del Método de Falsa PosiciónEjemplo del Método de Falsa Posición
Ejemplo del Método de Falsa Posición
 
Método numérico - regla de simpson
Método numérico  - regla de simpsonMétodo numérico  - regla de simpson
Método numérico - regla de simpson
 
Soluciones de sistema de ecuaciones en Matlab
Soluciones de sistema de ecuaciones en MatlabSoluciones de sistema de ecuaciones en Matlab
Soluciones de sistema de ecuaciones en Matlab
 
Distribución de temperaturas en una placa con simulación en paralelo
Distribución de temperaturas en una placa con simulación en paraleloDistribución de temperaturas en una placa con simulación en paralelo
Distribución de temperaturas en una placa con simulación en paralelo
 
Oscilaciones amortiguadas, forzadas y resonancia
Oscilaciones amortiguadas, forzadas y resonanciaOscilaciones amortiguadas, forzadas y resonancia
Oscilaciones amortiguadas, forzadas y resonancia
 
Método numérico regla de simpson
Método numérico   regla de simpsonMétodo numérico   regla de simpson
Método numérico regla de simpson
 
Ejercicios resueltos- de metodos
Ejercicios resueltos- de metodosEjercicios resueltos- de metodos
Ejercicios resueltos- de metodos
 
Normalización de una función de Onda
Normalización de una función de OndaNormalización de una función de Onda
Normalización de una función de Onda
 
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
 
MéTodo De IteracióN De Punto Fijo
MéTodo De IteracióN De Punto FijoMéTodo De IteracióN De Punto Fijo
MéTodo De IteracióN De Punto Fijo
 
Integración numérica parte II
Integración numérica parte IIIntegración numérica parte II
Integración numérica parte II
 
Ondas mecanicas2
Ondas mecanicas2Ondas mecanicas2
Ondas mecanicas2
 
Ecuaciones Diferenciales Lineales
Ecuaciones Diferenciales LinealesEcuaciones Diferenciales Lineales
Ecuaciones Diferenciales Lineales
 
Métodos numéricos- Problemario
Métodos numéricos- ProblemarioMétodos numéricos- Problemario
Métodos numéricos- Problemario
 
Regla de Simpson tres octavos
Regla de Simpson tres octavosRegla de Simpson tres octavos
Regla de Simpson tres octavos
 
Integracion multiple
Integracion multipleIntegracion multiple
Integracion multiple
 
Lagrange
LagrangeLagrange
Lagrange
 
Metodo romberg
Metodo rombergMetodo romberg
Metodo romberg
 
Ejercicios raíces de funciones
Ejercicios raíces de funciones Ejercicios raíces de funciones
Ejercicios raíces de funciones
 
Pendulo fisico y torsion
Pendulo fisico y torsionPendulo fisico y torsion
Pendulo fisico y torsion
 

Destacado

Mapa de karnaugh el semáforo
Mapa de karnaugh el semáforoMapa de karnaugh el semáforo
Mapa de karnaugh el semáforoMarco Antonio
 
Método de gauss seidel
Método de gauss seidelMétodo de gauss seidel
Método de gauss seidelmariacadena
 
METODOS NUMERICOS para ingenieria -Chapra
METODOS NUMERICOS para ingenieria -ChapraMETODOS NUMERICOS para ingenieria -Chapra
METODOS NUMERICOS para ingenieria -ChapraAdriana Oleas
 
Distribución microcanónica, canónica y gran canónica
Distribución microcanónica, canónica y gran canónicaDistribución microcanónica, canónica y gran canónica
Distribución microcanónica, canónica y gran canónicaMarco Antonio
 
Fundamentos de algoritmos e programação - Fortran
Fundamentos de algoritmos e programação - FortranFundamentos de algoritmos e programação - Fortran
Fundamentos de algoritmos e programação - FortranKennedy Morais Fernandes
 
Ecuaciones diferenciales por separación de variables
Ecuaciones diferenciales por separación de variablesEcuaciones diferenciales por separación de variables
Ecuaciones diferenciales por separación de variableseymavarez
 
Vibraciones mecánicas aplicación instrumento sísmico usando FORTRAN 90
Vibraciones mecánicas aplicación instrumento sísmico usando FORTRAN 90Vibraciones mecánicas aplicación instrumento sísmico usando FORTRAN 90
Vibraciones mecánicas aplicación instrumento sísmico usando FORTRAN 90Marco Antonio
 
Jacobi y Gauss Seidel
Jacobi y Gauss SeidelJacobi y Gauss Seidel
Jacobi y Gauss Seideljoselolozano
 
La ecuación de onda relativista de partículas de espín cero
La ecuación de onda relativista de partículas de espín ceroLa ecuación de onda relativista de partículas de espín cero
La ecuación de onda relativista de partículas de espín ceroMarco Antonio
 
La ecuación de schrödinger
La ecuación de schrödingerLa ecuación de schrödinger
La ecuación de schrödingerMarco Antonio
 
METODO JACOBI Y GAUSS SEIDEL
METODO JACOBI Y GAUSS SEIDELMETODO JACOBI Y GAUSS SEIDEL
METODO JACOBI Y GAUSS SEIDELCesar Mendoza
 
Diferenciación por 3 y 5 puntos
Diferenciación por 3 y 5 puntosDiferenciación por 3 y 5 puntos
Diferenciación por 3 y 5 puntosalan moreno
 
Analisis numerico campo_de_direcciones_y_curvas_solucion_
Analisis numerico campo_de_direcciones_y_curvas_solucion_Analisis numerico campo_de_direcciones_y_curvas_solucion_
Analisis numerico campo_de_direcciones_y_curvas_solucion_jose luis chavez
 

Destacado (20)

Manual fortran
Manual fortranManual fortran
Manual fortran
 
Laboratorio6
Laboratorio6Laboratorio6
Laboratorio6
 
Mapa de karnaugh el semáforo
Mapa de karnaugh el semáforoMapa de karnaugh el semáforo
Mapa de karnaugh el semáforo
 
Método de gauss seidel
Método de gauss seidelMétodo de gauss seidel
Método de gauss seidel
 
METODOS NUMERICOS para ingenieria -Chapra
METODOS NUMERICOS para ingenieria -ChapraMETODOS NUMERICOS para ingenieria -Chapra
METODOS NUMERICOS para ingenieria -Chapra
 
Distribución microcanónica, canónica y gran canónica
Distribución microcanónica, canónica y gran canónicaDistribución microcanónica, canónica y gran canónica
Distribución microcanónica, canónica y gran canónica
 
Fundamentos de algoritmos e programação - Fortran
Fundamentos de algoritmos e programação - FortranFundamentos de algoritmos e programação - Fortran
Fundamentos de algoritmos e programação - Fortran
 
Espacios cociente
Espacios cocienteEspacios cociente
Espacios cociente
 
Relatividad general
Relatividad generalRelatividad general
Relatividad general
 
Ecuaciones diferenciales por separación de variables
Ecuaciones diferenciales por separación de variablesEcuaciones diferenciales por separación de variables
Ecuaciones diferenciales por separación de variables
 
Vibraciones mecánicas aplicación instrumento sísmico usando FORTRAN 90
Vibraciones mecánicas aplicación instrumento sísmico usando FORTRAN 90Vibraciones mecánicas aplicación instrumento sísmico usando FORTRAN 90
Vibraciones mecánicas aplicación instrumento sísmico usando FORTRAN 90
 
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
 
La ecuación de onda relativista de partículas de espín cero
La ecuación de onda relativista de partículas de espín ceroLa ecuación de onda relativista de partículas de espín cero
La ecuación de onda relativista de partículas de espín cero
 
La ecuación de schrödinger
La ecuación de schrödingerLa ecuación de schrödinger
La ecuación de schrödinger
 
METODO JACOBI Y GAUSS SEIDEL
METODO JACOBI Y GAUSS SEIDELMETODO JACOBI Y GAUSS SEIDEL
METODO JACOBI Y GAUSS SEIDEL
 
Curso de-fortran
Curso de-fortranCurso de-fortran
Curso de-fortran
 
Diferenciación por 3 y 5 puntos
Diferenciación por 3 y 5 puntosDiferenciación por 3 y 5 puntos
Diferenciación por 3 y 5 puntos
 
Analisis numerico campo_de_direcciones_y_curvas_solucion_
Analisis numerico campo_de_direcciones_y_curvas_solucion_Analisis numerico campo_de_direcciones_y_curvas_solucion_
Analisis numerico campo_de_direcciones_y_curvas_solucion_
 

Similar a Fortran 90 con métodos numéricos

Problemas de aplicacin de la segunda ley de newton
Problemas de aplicacin de la segunda ley de newtonProblemas de aplicacin de la segunda ley de newton
Problemas de aplicacin de la segunda ley de newtonSanty Diaz
 
Taller_Física Moderna y Principios Cuánticos_2022.pdf
Taller_Física Moderna y Principios Cuánticos_2022.pdfTaller_Física Moderna y Principios Cuánticos_2022.pdf
Taller_Física Moderna y Principios Cuánticos_2022.pdfJose E. Carmona F.
 
Problemas de aplicación de la segunda ley de newton
Problemas de aplicación de la segunda ley de newtonProblemas de aplicación de la segunda ley de newton
Problemas de aplicación de la segunda ley de newtonVanessa Aldrete
 
1.movimiento oscilatorio
1.movimiento oscilatorio1.movimiento oscilatorio
1.movimiento oscilatoriomarcojrivera
 
Tippens fisica 7e_diapositivas_14
Tippens fisica 7e_diapositivas_14Tippens fisica 7e_diapositivas_14
Tippens fisica 7e_diapositivas_14Robert
 
Dinamica Estructural.pptx
Dinamica Estructural.pptxDinamica Estructural.pptx
Dinamica Estructural.pptxOMARBARBOZA5
 
A analisis de_vibraciones_libres_de_una_vi
A analisis de_vibraciones_libres_de_una_viA analisis de_vibraciones_libres_de_una_vi
A analisis de_vibraciones_libres_de_una_viAlfredoRios40
 
Ecuaciones de orden superior, MATEMATICA APLICADA
Ecuaciones de orden superior, MATEMATICA APLICADAEcuaciones de orden superior, MATEMATICA APLICADA
Ecuaciones de orden superior, MATEMATICA APLICADALuis Velasquez
 
F3.1 pau-movimiento oscilatorio-soluc
F3.1 pau-movimiento oscilatorio-solucF3.1 pau-movimiento oscilatorio-soluc
F3.1 pau-movimiento oscilatorio-solucmariavarey
 
Aplicaciones de la_transformada_de_laplace_grupo_4
Aplicaciones de la_transformada_de_laplace_grupo_4Aplicaciones de la_transformada_de_laplace_grupo_4
Aplicaciones de la_transformada_de_laplace_grupo_4José Puerta
 

Similar a Fortran 90 con métodos numéricos (20)

8.oscilaciones
8.oscilaciones8.oscilaciones
8.oscilaciones
 
Problemas de aplicacin de la segunda ley de newton
Problemas de aplicacin de la segunda ley de newtonProblemas de aplicacin de la segunda ley de newton
Problemas de aplicacin de la segunda ley de newton
 
Prob007
Prob007Prob007
Prob007
 
Mas
MasMas
Mas
 
Movimiento oscilatorio
Movimiento oscilatorioMovimiento oscilatorio
Movimiento oscilatorio
 
Solución de la Ecuación de un MAS
Solución de la Ecuación de un MASSolución de la Ecuación de un MAS
Solución de la Ecuación de un MAS
 
Semana 6 cantidad de movimiento
Semana 6 cantidad de movimientoSemana 6 cantidad de movimiento
Semana 6 cantidad de movimiento
 
Taller_Física Moderna y Principios Cuánticos_2022.pdf
Taller_Física Moderna y Principios Cuánticos_2022.pdfTaller_Física Moderna y Principios Cuánticos_2022.pdf
Taller_Física Moderna y Principios Cuánticos_2022.pdf
 
Pau ondas es
Pau ondas esPau ondas es
Pau ondas es
 
Problemas de aplicación de la segunda ley de newton
Problemas de aplicación de la segunda ley de newtonProblemas de aplicación de la segunda ley de newton
Problemas de aplicación de la segunda ley de newton
 
1.movimiento oscilatorio
1.movimiento oscilatorio1.movimiento oscilatorio
1.movimiento oscilatorio
 
1.movimiento oscilatorio
1.movimiento oscilatorio1.movimiento oscilatorio
1.movimiento oscilatorio
 
Campos Electromagneticos - Tema 9
Campos Electromagneticos - Tema 9Campos Electromagneticos - Tema 9
Campos Electromagneticos - Tema 9
 
Exponentes y radicales
Exponentes y radicalesExponentes y radicales
Exponentes y radicales
 
Tippens fisica 7e_diapositivas_14
Tippens fisica 7e_diapositivas_14Tippens fisica 7e_diapositivas_14
Tippens fisica 7e_diapositivas_14
 
Dinamica Estructural.pptx
Dinamica Estructural.pptxDinamica Estructural.pptx
Dinamica Estructural.pptx
 
A analisis de_vibraciones_libres_de_una_vi
A analisis de_vibraciones_libres_de_una_viA analisis de_vibraciones_libres_de_una_vi
A analisis de_vibraciones_libres_de_una_vi
 
Ecuaciones de orden superior, MATEMATICA APLICADA
Ecuaciones de orden superior, MATEMATICA APLICADAEcuaciones de orden superior, MATEMATICA APLICADA
Ecuaciones de orden superior, MATEMATICA APLICADA
 
F3.1 pau-movimiento oscilatorio-soluc
F3.1 pau-movimiento oscilatorio-solucF3.1 pau-movimiento oscilatorio-soluc
F3.1 pau-movimiento oscilatorio-soluc
 
Aplicaciones de la_transformada_de_laplace_grupo_4
Aplicaciones de la_transformada_de_laplace_grupo_4Aplicaciones de la_transformada_de_laplace_grupo_4
Aplicaciones de la_transformada_de_laplace_grupo_4
 

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
 
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
 
Regla de dispersión numérica
Regla de dispersión numéricaRegla de dispersión numérica
Regla de dispersión numéricaMarco 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 ...
 
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
 
Regla de dispersión numérica
Regla de dispersión numéricaRegla de dispersión numérica
Regla de dispersión numérica
 

Fortran 90 con métodos numéricos

  • 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
  • 14. 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 S=S+P*D(I,N-I) 15 CONTINUE VAL=S+D(0,N) SUM =SUM+ VAL END DO SUM = H1*SUM PRINT 115 115 FORMAT(/3X,'LA INTEGRAL RESULTA:'/) PRINT*,SUM PRINT*,'' Y(N+1)=Y(N)+H*SUM PRINT*,'' 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
  • 15.
  • 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
  • 91. � 1 1 −1 4 � � 𝑋𝑋1 1 𝑋𝑋2 1� = � 1 2 � TOL =0.06 Primera interacción K=0 N=2 I=1 𝑎𝑎𝑖𝑖𝑖𝑖 𝑥𝑥𝑖𝑖 𝑘𝑘+1 = 𝑏𝑏𝑖𝑖 − � 𝑎𝑎𝑖𝑖𝑖𝑖 𝑥𝑥𝑗𝑗 𝑘𝑘 𝑁𝑁 𝐽𝐽≠𝑖𝑖=1 𝑎𝑎11 𝑥𝑥1= 1 𝑏𝑏1 − 𝑎𝑎12 𝑥𝑥2 0 (1)( 𝑥𝑥1 1 )=1-(1) (0,4) 𝑥𝑥1 1 =0,6 i=2 𝑎𝑎22 𝑥𝑥2 1 = 𝑏𝑏2 − 𝑎𝑎21 𝑥𝑥1 0 (4)( 𝑥𝑥2 1 ) =2-(-1)*(0,5) 𝑥𝑥2 1 =0,625 𝑥𝑥1 = � 𝑥𝑥1 1 = 0,6 𝑥𝑥2 1 = 0,625 � Analizando la convergencia � 0,6 0,625 − 0,5 0,4 � = 0,1 0,225 > TOL=0,06 Segunda interacción K=1 N=2 K=1 i=1 𝑎𝑎𝑖𝑖𝑖𝑖 𝑥𝑥𝑖𝑖 𝑘𝑘+1 = 𝑏𝑏𝑖𝑖 − � 𝑎𝑎𝑖𝑖𝑖𝑖 𝑥𝑥𝑗𝑗 𝑘𝑘 𝑁𝑁 𝐽𝐽≠𝑖𝑖 𝑎𝑎11 𝑥𝑥1= 2 𝑏𝑏1 − 𝑎𝑎12 𝑥𝑥2 1 (1)( 𝑥𝑥1 2 )=1-(1) (0,625) 𝑥𝑥1 2 =0,375 i=2 𝑎𝑎22 𝑥𝑥2 2 = 𝑏𝑏2 − 𝑎𝑎21 𝑥𝑥1 1 (4)( 𝑥𝑥2 1 ) =2-(1)(0,6) 𝑥𝑥2 2 =0,65 Analizando la convergencia � 0,375 0,65 − 0,6 0,625 � = 0,225 0,025 > TOL =0,06 Tercera interacción: K=2 N=2 K=2 i=1 𝑎𝑎𝑖𝑖𝑖𝑖 𝑥𝑥𝑖𝑖 𝑘𝑘+1 = 𝑏𝑏𝑖𝑖 − � 𝑎𝑎𝑖𝑖𝑖𝑖 𝑥𝑥𝑗𝑗 𝑘𝑘 𝑁𝑁 𝐽𝐽≠𝑖𝑖 𝑎𝑎11 𝑥𝑥1= 3 𝑏𝑏1 − 𝑎𝑎12 𝑥𝑥2 2 (1)( 𝑥𝑥1 3 )=1-(1) (0,65)
  • 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
  • 94. R=' RESULTADOS' PRINT*,('*',H=1,70) PRINT*,('',H=1,20),R PRINT*,('*',H=1,70) PRINT*,'SOLUTION DEL SISTEMA' DO I=1,N PRINT*,X(K+1,I) ENDDO PRINT*,('',H=1,70) PRINT*,'APPROACH',E PRINT*,('',H=1,70) PRINT*,'NUMBER DE ITERACIONES',K PRINT*,('',H=1,70) END
  • 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
  • 96. SOLUCIÓN: � 4 3 2 3 � � 𝑋𝑋1 1 𝑋𝑋2 1� = � 3 2 � Primera interacción: K=0 N=2 i=1 𝑎𝑎𝑖𝑖𝑖𝑖 𝑥𝑥𝑖𝑖 𝑘𝑘+1 + � 𝑎𝑎𝑖𝑖𝑖𝑖 𝑥𝑥𝑗𝑗 𝑘𝑘 𝑁𝑁 𝐽𝐽<𝑖𝑖 = 𝑏𝑏𝑖𝑖 − � 𝑎𝑎𝑖𝑖𝑖𝑖 𝑥𝑥𝑗𝑗 𝑘𝑘 𝑁𝑁 𝐽𝐽>𝑖𝑖 𝑎𝑎11 𝑥𝑥1 1 + 0 = 𝑏𝑏1 − 𝑎𝑎12 𝑥𝑥2 0 4(𝑥𝑥1 1 ) =3-(3)*(0.30) 𝑥𝑥1 1 =0,525 i=2 𝑎𝑎22 𝑥𝑥2 1 + 𝑎𝑎21 𝑥𝑥1 1 = 𝑏𝑏2 − 𝑎𝑎21 𝑥𝑥1 1 3 (𝑥𝑥2 1 ) =2-(2)*(0,525) 𝑥𝑥2 1 =0,316 𝑥𝑥1 = � 𝑥𝑥1 1 = 0,525 𝑥𝑥2 1 = 0,316 � Analizando la convergencia � 0,525 0,316 − 0,6 0,30 � = 0,075 0,016 > TOL=0,02 Segunda interacción K=1 N=2 K=1 i=1 𝑎𝑎𝑖𝑖𝑖𝑖 𝑥𝑥𝑖𝑖 𝑘𝑘+1 + � 𝑎𝑎𝑖𝑖𝑖𝑖 𝑥𝑥𝑗𝑗 𝑘𝑘 𝑁𝑁 𝐽𝐽<𝑖𝑖 = 𝑏𝑏𝑖𝑖 − � 𝑎𝑎𝑖𝑖𝑖𝑖 𝑥𝑥𝑗𝑗 𝑘𝑘 𝑁𝑁 𝐽𝐽>𝑖𝑖 𝑎𝑎11 𝑥𝑥1 2 + 0 = 𝑏𝑏1 − 𝑎𝑎22 𝑥𝑥2 1 (4)(𝑥𝑥1 2 )=3-(3)*(0,316) 𝑥𝑥1 2 =0,513 i=2 𝑎𝑎22 𝑥𝑥2 2 + 𝑎𝑎21 𝑥𝑥1 2 = 𝑏𝑏2 − 0 (3)(𝑥𝑥2 2 ) =2-(2)*(0,513) 𝑥𝑥2 2 =0,324 Analizando la convergencia � 0,513 0,324 − 0,525 0,316 � = 0,012 0,008 < TOL=0,02 Por lo tanto los resultados finales son: 𝑥𝑥2 = � 𝑥𝑥1 2 = 0,513 𝑥𝑥2 2 = 0,324 �
  • 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)
  • 118. DO I=1,N PRINT '(2F20.3)',X(K+1,I) ENDDO PRINT*,('',I=1,70) PRINT*,'CON UNA APPROACH DE:' PRINT '(E20.2)',E PRINT*,('',I=1,70) END
  • 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