51 lines
1.8 KiB
Fortran
51 lines
1.8 KiB
Fortran
|
subroutine MASIJINGGEN( NFILENAME ,& ! <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>ֳ<EFBFBD><D6B3><EFBFBD> <20><><EFBFBD><EFBFBD> //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
N ,& ! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
Q1 ,& ! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
Q20 ,& ! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼֵ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> //<2F><><EFBFBD><EFBFBD>
|
|||
|
X ,& ! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
K ,& ! <20><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
DETAT ,& ! ʱ<>䲽<EFBFBD><E4B2BD> <20><>Сʱ<D0A1><CAB1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
C0 ,& ! ϵ<><CFB5> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
C1 ,& ! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
C2 ,& ! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
Q2 )& ! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> //<2F><><EFBFBD><EFBFBD>
|
|||
|
BIND(C, NAME="MASIJINGGEN")
|
|||
|
|
|||
|
!DEC$ ATTRIBUTES DLLEXPORT::MASIJINGGEN
|
|||
|
INTEGER::NFILENAME
|
|||
|
CHARACTER(LEN = NFILENAME)::FILENAME
|
|||
|
|
|||
|
INTEGER::N
|
|||
|
REAL::Q1(1000)
|
|||
|
REAL::Q20
|
|||
|
REAL::Q2(1000)
|
|||
|
REAL::I1
|
|||
|
REAL::I2
|
|||
|
REAL::C0
|
|||
|
REAL::C1
|
|||
|
REAL::C2
|
|||
|
|
|||
|
REAL::X
|
|||
|
REAL::K
|
|||
|
REAL::DETAT
|
|||
|
|
|||
|
INTEGER::I
|
|||
|
|
|||
|
C0 = (0.5*DETAT - K*X)/(0.5*DETAT + K - K*X)
|
|||
|
C1 = (0.5*DETAT + K*X)/(0.5*DETAT + K - K*X)
|
|||
|
C2 = (-0.5*DETAT +K - K*X)/(0.5*DETAT + K - K*X)
|
|||
|
|
|||
|
Q2(1) =Q20
|
|||
|
|
|||
|
DO I = 2,N
|
|||
|
|
|||
|
I2 = Q1(I)
|
|||
|
|
|||
|
I1 = Q1(I-1)
|
|||
|
|
|||
|
Q2(I) = C0*I2 + C1*I1 + C2*Q2(I-1)
|
|||
|
|
|||
|
END DO
|
|||
|
|
|||
|
end subroutine MASIJINGGEN
|