なぜこのfortranプログラムはゼロのみを生成するのですか?私がそれを印刷すると、私はどこでも-0.00000を得ます!私は何を間違えたのですか? matlabで完全に動作します。正直ではない理由は何もわかりません!ゼロを生成する単純なプログラム、バグ?
これは、それを混乱させる部分のようです。 xを十進数と同じにすると、それは機能します。
program main
implicit none
integer iMax, jMax
double precision, dimension(:,:), allocatable :: T
double precision x, dx,f,L2old,L2norm,y
integer i, j,n,bc
n=10
allocate(T(1:n+2, 1:n+2))
T=0.0d0
do i=2,n+1
do j=2,n+1
x=(j+1)*1/24
y=(i+1)*1/24
T(i,j)= -18*(x**2+y**2)**2
Write(*,*)'T(',i,'',j,'', T(i,j)
end do
end do
Write(*,*)'T(1,1)',T(1,1)
end program main
につながる私は*すべての* Fortranのを覚えていないが、 '* 1/24'は、整数の除算のような非常に多くを探します。 –