主题:[讨论]fortran读取数据格式的问题
我的程序如下:
1、编制子程序:FFT.F90——用于快速傅里叶变换
FPAC.F90——用于求傅里叶谱,功率谱和自相关系数
2、编制了主程序:MAIN.F90,内容如下:
!*****************************************************************************************
DIMENSION DATA(30000),F(15000),G(15000),R(15000)
DIMENSION FREQ(15000),TAU(15000)
!
open(5,file='ua0258.DAT')
open(6,file='OUTPUT.DAT')
!
!Do i=1,11
!read(5,*)
!enddo
!
READ(5,501) NN,DT,(DATA(M),M=1,NN)
CALL FPAC(NN,DATA,30000,DT,111,F,G,R,15000,NFOLD,DF)
!
DO 210 J=1,NFOLD
TAU(J)=REAL(J-1)*DT
FREQ(J)=J/(NFOLD*2)*DT
210 CONTINUE
!
WRITE (6,601) (MK-1,FREQ(MK),F(MK),G(MK),TAU(J),R(MK),MK=1,NFOLD)
STOP
!
501 FORMAT(T16,I5/T30,F5.3//8F15.11)
601 FORMAT(T35,'EXAMPLE WAVE'//T15,'--FOURIER, POWER SPECTRUM AND AUTOCORRELATION--'&
///T5,'M',TR3,'FREQUENCY',TR7,'FOURIER SPECTRUM',TR2,'POWER SPECTRUM',&
TR2,'TIME LAG',TR2,'AUTOCORRELATION'//(T5,I5,TR5,F10.3,TR5,F10.3,TR5,F10.3,&
TR5,F10.3,TR5,F10.3))
END
!*****************************************************************************************
3、读入的数据文件的格式如下:
NO. OF POINTS: 24256
EQUALLY SPACED INTERVALS OF: 0.005 SEC
-1.072970E-001 -1.072970E-001 -9.958957E-002 -9.958957E-002 -1.072970E-001 -1.034439E-001 -9.573565E-002 -1.034439E-001
-9.958957E-002 -1.034439E-001 -1.072970E-001 -9.958957E-002 -9.958957E-002 -1.111513E-001 -9.958957E-002 -9.958957E-002
-1.072970E-001 -1.034439E-001 -1.072970E-001 -1.072970E-001 -1.072970E-001 -9.958957E-002 -1.072970E-001 -1.111513E-001
4、现在出现的问题是,运行之后,报错显示主程序的第11行有错:input conversion error
论坛有没有高人肯指点一下,不胜感激,呵呵。
1、编制子程序:FFT.F90——用于快速傅里叶变换
FPAC.F90——用于求傅里叶谱,功率谱和自相关系数
2、编制了主程序:MAIN.F90,内容如下:
!*****************************************************************************************
DIMENSION DATA(30000),F(15000),G(15000),R(15000)
DIMENSION FREQ(15000),TAU(15000)
!
open(5,file='ua0258.DAT')
open(6,file='OUTPUT.DAT')
!
!Do i=1,11
!read(5,*)
!enddo
!
READ(5,501) NN,DT,(DATA(M),M=1,NN)
CALL FPAC(NN,DATA,30000,DT,111,F,G,R,15000,NFOLD,DF)
!
DO 210 J=1,NFOLD
TAU(J)=REAL(J-1)*DT
FREQ(J)=J/(NFOLD*2)*DT
210 CONTINUE
!
WRITE (6,601) (MK-1,FREQ(MK),F(MK),G(MK),TAU(J),R(MK),MK=1,NFOLD)
STOP
!
501 FORMAT(T16,I5/T30,F5.3//8F15.11)
601 FORMAT(T35,'EXAMPLE WAVE'//T15,'--FOURIER, POWER SPECTRUM AND AUTOCORRELATION--'&
///T5,'M',TR3,'FREQUENCY',TR7,'FOURIER SPECTRUM',TR2,'POWER SPECTRUM',&
TR2,'TIME LAG',TR2,'AUTOCORRELATION'//(T5,I5,TR5,F10.3,TR5,F10.3,TR5,F10.3,&
TR5,F10.3,TR5,F10.3))
END
!*****************************************************************************************
3、读入的数据文件的格式如下:
NO. OF POINTS: 24256
EQUALLY SPACED INTERVALS OF: 0.005 SEC
-1.072970E-001 -1.072970E-001 -9.958957E-002 -9.958957E-002 -1.072970E-001 -1.034439E-001 -9.573565E-002 -1.034439E-001
-9.958957E-002 -1.034439E-001 -1.072970E-001 -9.958957E-002 -9.958957E-002 -1.111513E-001 -9.958957E-002 -9.958957E-002
-1.072970E-001 -1.034439E-001 -1.072970E-001 -1.072970E-001 -1.072970E-001 -9.958957E-002 -1.072970E-001 -1.111513E-001
4、现在出现的问题是,运行之后,报错显示主程序的第11行有错:input conversion error
论坛有没有高人肯指点一下,不胜感激,呵呵。