在 Fortran 中需要帮助...
这是程序的主循环..
do iStep=0,nStep
write(7,*)iStep
!* Compute new temperature using FTCS scheme.
do i=1,N
if( istep==0) then !only for t=0
tt_new(i)=250
write(7,*)tt_new(i)
else
if(i==1) then
tt_new(i)=2*coeff*(tt(i+1)+35.494)-0.036*tt(i)
write(7,*)tt(i)
else
if(i==N) then
tt_new(i)=2*coeff*(tt(i-1)+35.494)-0.036*tt(i)
write(7,*)tt(i)
else
tt_new(i) = coeff*(tt(i+1) + tt(i-1)+33.333)+(1 - 2*coeff)*tt(i)
write (7,*) tt_new(i)
end if
end if
end if
end do
do i=1,N
tt(i) = tt_new(i) ! Reset temperature to new values
enddo
end do
这是输出....
0
2.5000000E+02
2.5000000E+02
2.5000000E+02
2.5000000E+02
2.5000000E+02
2.5000000E+02
2.5000000E+02
2.5000000E+02
2.5000000E+02
2.5000000E+02
2.5000000E+02
2.5000000E+02
2.5000000E+02
2.5000000E+02
2.5000000E+02
2.5000000E+02
2.5000000E+02
2.5000000E+02
2.5000000E+02
2.5000000E+02
1
2.5000000E+02 <--
2.6666650E+02
2.6666650E+02
2.6666650E+02
2.6666650E+02
2.6666650E+02
2.6666650E+02
2.6666650E+02
2.6666650E+02
2.6666650E+02
2.6666650E+02
2.6666650E+02
2.6666650E+02
2.6666650E+02
2.6666650E+02
2.6666650E+02
2.6666650E+02
2.6666650E+02
2.6666650E+02
2.5000000E+02 <--
如您所见...程序不计算第一个和最后一个节点的值...您能告诉我为什么吗?