- 积分
- 9444
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2011-11-18
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
最近做一个小波分析,找了一个魏凤英老师的小波程序,但是里面的一些参数不太懂,使用原始自带的数据运行的时候,数据越界错误,fortran程序如下,对下面的有个数组有问题,请教大神:
C THIS IS A PROGRAM OF WAVELET ANALYSIS BY USING
C GAUSS REAL OF MCXICAN HAT
PROGRAM WA
PARAMETER (N=320,M=4,NMAX=N*3,NS=0,KS=12)
DIMENSION F(M,N),X(N),XM(NMAX),IT(M)
REAL D,Y,Z
C *****************************************************
C * N: SAMPLE SIZE *
C * M: NUMBER OF TIME SCALE *
C * NS: STARTING SCALE *
C * KS: INTERVAL OF SCALE *
C * X: PRIMARY TIME SERIES *
C * F: WAVELET TRANSFORMATION COEFFICIENTS *
C * IT: EXPANDED AND CONTRACTED SCALES *
C *****************************************************
WAVE(Y)=(1.0-16.0*Y*Y)*EXP(-8.0*Y*Y)
OPEN(6,FILE=' ')
READ(6,*)(X(I),I=1,N)
DO 10 I=1,N
XM(I)=X(N+1-I)
XM(N+I)=X(I)
XM(2*N+I)=X(N+1-I)
10 CONTINUE
DO 20 I=1,M
IT(I)=I*KS+NS
20 CONTINUE
DO 30 J=1,N
F(I,J)=0.0
30 CONTINUE
!这个循环是不是有问题???
!提示程序数组越界、
DO 40 I=1,M
D=FLOAT(IT(I))
II=IT(I)
DO 50 J=N+1,2*N
DO 60 K=J-II,J+II
Z=(FLOAT(K)-FLOAT(J))/D
F(I,J-N)=F(I,J-N)+WAVE(Z)*XM(K)/SQRT(D)
60 CONTINUE
50 CONTINUE
40 CONTINUE
OPEN(3,FILE=' ',STATUS='NEW')
WRITE(3,70)
70 FORMAT(20X,'*****WAVELET ANALYSIS*****'/)
WRITE(3,80)
80 FORMAT(2X,'NO.',3X,'SCALE',4X,'COE.')
DO 90 I=1,M
DO 100 J=1,N
WRITE(3,110)J,IT(I),F(I,J)
110 FORMAT(2X,I3,3X,I3,3X,F8.2)
100 CONTINUE
90 CONTINUE
STOP
END
CC-------------------------------END--------------------------------- |
|