C R.C. PROGRAM OSCIATION PARAMETER( NMAX=1000 ) REAL Y(NMAX), X(0:NMAX) REAL A(0:NMAX), B(NMAX) C 配列を宣言するとき、配列の長さは変数で指定できない。ここでの変数は NMAX. C そのため、配列の長さを変数で指定したい場合は、PARAMETER宣言を行う. *-- 計算する項数 --- WRITE(*,*) "INPUT THE NUMBER.(NOT BEYOND 1000!)" READ(*,*) M *-- 出力ファイルをダンプ (保存) するための命令 --- * CALL SWpSET( 'LDUMP', .TRUE. ) * CALL SWpSET( 'LWAIT', .FALSE. ) * CALL SWpSET( 'LWAIT1', .FALSE. ) PI=3.1415926 *-- 空間分解 --- DX=0.01 *-- フーリエ級数係数の計算 --- A(0)=PI**2/3.0 DO 100 I=1,M B(I)=((-1.0)**(I))*(1.0/I**2) 100 CONTINUE *-- 支配方程式 --- X(0)=0.0 DO 10 I=1,NMAX X(I)=X(I-1)+DX S=A(0)+4.0*B(1)*COS(X(I)) DO 20 J=2,M S=S+4.0*B(J)*COS(J*X(I)) 20 CONTINUE Y(I)=S 10 CONTINUE *-- グラフの出力装置の指定 (IWS=4 は GTK 指定) ---- WRITE(*,*) ' WORKSTATION ID (I) ? ;' CALL SGPWSN * IWS=4 READ (*,*) IWS *-- 出力装置の呼び出し CALL GROPN( IWS ) CALL GRFRM CALL USSTTL( 'X-axis', '', 'f(x)', '' ) CALL USGRPH( NMAX, X, Y ) CALL GRSWND( 0.2, 0.8, 0.2, 0.8 ) CALL GRCLS STOP END