看板 Fortran 關於我們 聯絡資訊
因為程式有點長 就不全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
ckshfire:maybe 40那邊的格式有問題? PRINT也給格式試試看 05/29 09:19
andychord:謝謝 不過就算用了write(8,*)也還是NaN耶... 05/29 10:00
laa7352:我也遇過類似的事 隔天工作站重開重試就好了 05/29 10:52
andychord:謝謝 我找一天試一下換一台工作站好了 哈哈 05/30 10:08
janhon:有時候有些沒有被歸零的變數中,有的會事先被填數值了 06/02 05:13