作者andychord (AC交流電)
看板Fortran
標題[問題] Write出現NaN 卻又神奇的消失!!
時間Fri May 28 23:21:04 2010
因為程式有點長 就不全po上來了
基本上問題重點的部分是
------
! Name, open and head output file:
write (*,*) ' Enter output file name:'
read (*,10) output
open (unit=8, file=output, status='unknown')
t_loop: do j= 1, n
...
...
write (8, 40) t, y, r1 ! y is a 4*1 array
40 format (F14.5, 5E14.5)
...
enddo t_loop
------
程式執行的結果
所有的數值都被寫成NaN在output file裡
但是神奇的事情是
只要在write變數這個command之前任何一個地方 loop外也行
加入任意一個print*的指令 不管print字或是變數
例如
print*, 'test'
t_loop ...
...
那麼所有的數值就會正正確確的寫入檔案(表示計算部分應該沒有出錯?)
請問到底是什麼事情造成了這個奇怪的現象呢?
實在是令我百思不得其解呀....
只能來像板上的高手求救了 感謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.158.62.232
1F:推 ckshfire:maybe 40那邊的格式有問題? PRINT也給格式試試看 05/29 09:19
2F:→ andychord:謝謝 不過就算用了write(8,*)也還是NaN耶... 05/29 10:00
3F:推 laa7352:我也遇過類似的事 隔天工作站重開重試就好了 05/29 10:52
4F:→ andychord:謝謝 我找一天試一下換一台工作站好了 哈哈 05/30 10:08
5F:推 janhon:有時候有些沒有被歸零的變數中,有的會事先被填數值了 06/02 05:13