講義で作成したFORTRAN77コードを掲載します。
【2階微分 オイラー法にて】
****** main ****** external euler2,f1,f2 write(*,*)'h=' read(*,*)h write(*,*)'t0=' read(*,*)t0 write(*,*)'y0=' read(*,*)y0 write(*,*)'y0''=' read(*,*)y0d write(*,*)'tend=' read(*,*)tend call euler2(f1,f2,h,t0,y0,y0d,tend) stop end ****** subroutine program******* subroutine euler2(f1,f2,h,t0,y0,y0d,tend) t =t0 y =y0 yd=y0d 20 continue if(t.ge.tend)go to 30 t =t+h y =y +h*f1(y,yd,t) yd=yd+h*f2(y,yd,t) goto 20 30 write(*,*)' y =',y return end ****** function f1 ******* function f1(y,yd,t) f1 = yd return end ****** function f2 ******* function f2(y,yd,t) f2 = t + 1 return end |