C R.C. PROGRAM OSCIATION PARAMETER( NMAX=1000 ) REAL P(0:NMAX), X(0:NMAX) C 配列を宣言するとき、配列の長さは変数で指定できない。ここでの変数は NMAX. C そのため、配列の長さを変数で指定したい場合は、PARAMETER宣言を行う. XMAX=1.0 XMIN=-1.0 C x軸の幅 WRITE(*,*) "INPUT THE BESSEL NUMBER !" READ(*,*) N C エルミート多項式の次数 A=MOD(N,2) DO 10 I=0,NMAX-1 X(I)=XMIN+(XMAX-XMIN)*I/NMAX S=0.0 IF(A.EQ.0) THEN DO 30 K=0,N/2 S=S+(0.5**K)*((-1)**K)*(X(I)**(N-2*K))* & (KAIJO(N)/(KAIJO(K)*KAIJO(N-2*K))) 30 CONTINUE ELSE DO 20 K=0,(N-1)/2 S=S+(0.5**K)*((-1)**K)*(X(I)**(N-2*K))* & (KAIJO(N)/(KAIJO(K)*KAIJO(N-2*K))) 20 CONTINUE END IF P(I)=S 10 CONTINUE *-- グラフの呼び出し --- WRITE(*,*) ' WORKSTATION ID (I) ? ;' CALL SGPWSN READ (*,*) IWS CALL GROPN( IWS ) CALL GRFRM CALL USGRPH( NMAX, X, P ) CALL USSTTL( '', '', '', '' ) CALL GRCLS STOP END *-- 階乗関数を計算するサブルーチン --- FUNCTION KAIJO(K) IF (K.LT.2) THEN KAIJO=1.0 ELSE KAIJO=1.0 DO 110 J=1,K KAIJO=J*KAIJO 110 CONTINUE END IF RETURN END