11/11/08 02:33:21.56
>>613
Fortran95への移植。内容は見ていないw Sinカーブのように振動しているから、まぁこんなもんではないか?
program vip
implicit none
! Variables
integer, parameter :: n = 100
real(8), parameter :: q = 10.0d0, dt = 0.00001d0, dm = 30.0d0, t0 = 2.0d0, &
k = 1.0d0 , pi = 4.0d0 * atan(1.0d0), f = 3.0d0
real(8) :: c(n), dc(n)
real(8) :: dx, t, s, s_prev
integer :: i
! Body of Console3
dx = q / n
c = 0.0d0
t = 0.0d0
s_prev = 0.0d0
do while( t < t0 )
c(1) = c(2)
c(n) = k * sin(2.0d0 * pi * f * t)
forall(i = 2:n - 1) dc(i) = (dm * (c(i + 1) - 2 * c(i) + c(i - 1)) / dx**2) * dt
c = c + dc
s = sum(c) * dx
write(9,*), 't=', t, (s - s_prev) / dt
s_prev = s
t = t + dt
end do
end program vip