NaNの有無を確認 †isnan †isnanを使ってNaNがあるかどうかを確認できる. do I = 1,NY do J = 1,NX if(isnan(VEL(I,J))) then write(*,*)'NaN発生' stop end if end do end do 上記の方法だとループの途中で終わるので,NaN が複数ある場合にも最初にある I,J しかわからない. hoge = .false. do I = 1,NY do J = 1,NX if(isnan(VEL(I,J))) then hoge = .true. end if end do end do if(hoge)then write(*,*) 'VEL(I,J)をファイルに出力して確認したりできる' stop end if その他 †a が NaN の場合, a==a が常に偽になるので, isnan (Intel の ifort だけ対応?)が使えなければ. |