看板 Fortran 關於我們 聯絡資訊
版友們好 小弟是FORTRAN新手 在啟動程式時顯示以下錯誤訊息: *** WARNING ERROR 2 from DQDAG. Roundoff error has been detected. The *** requested tolerances, ERRABS = 0.000000000000000D+00 and ERRREL *** = 1.000000000000000D-03 cannot be reached. Here is a traceback of subprogram calls in reverse order: Routine name Error type Error code ------------ ---------- ---------- DQDAG 3 2 DN2QNF 3 2 (Called internally) DNEQNF 0 0 USER 0 0 *** FATAL ERROR 1 from DQDAG. The maximum number of subintervals allowed *** MAXSUB = 500 has been reached. Use DQ2AG and increase MAXSUB. *** Dimension adjustments may be necessary. Here is a traceback of subprogram calls in reverse order: Here is a traceback of subprogram calls in reverse order: Routine name Error type Error code ------------ ---------- ---------- DQDAG 4 1 DN2QNF 4 1 (Called internally) DNEQNF 0 0 USER 0 0 而無法正常執行程式 有點不知如何下手修改,想請問版友有沒有關鍵字或大概的方向 可以解決目前我遇到的錯誤問題 先謝謝大家 感激不盡 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.161.39.113 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Fortran/M.1569235532.A.149.html
fragmentwing: 沒碰過這問題 不過稍微查了下09/23 21:32
fragmentwing: 跟INCLUDE有關係 可能你的環境沒裝好09/23 21:32
fragmentwing: 或是你的編譯器和你的檔案版本不一09/23 21:34
fragmentwing: 你的版本是不是f77 上網找 f90是D_QDAG09/23 21:36
fragmentwing: 你的版本是不是f77 上網找 f90是D_QDAG09/23 21:36
fragmentwing: dqdag ERRABS和ERRREL這邊是雙精度轉實數誤差?09/23 21:42
fragmentwing: 可是精度誤差 第一原來有編譯器會抓第二這不該讓程09/23 21:45
fragmentwing: 式跑不動啊09/23 21:45
fragmentwing: 由於沒有你的程式碼 我建議把include那行刪掉 但是09/24 11:21
fragmentwing: 你的程式運作的目的應該就是使用include的東西09/24 11:21
fragmentwing: 另一個可能的改法是 根據maxsub相關的敘述 你必須去09/24 11:21
fragmentwing: 更動maxsub的陣列大小 最好是改成動態配置 如果位09/24 11:21
fragmentwing: 於副程式(subroutine )內,就是在宣告時以(:)進09/24 11:21
fragmentwing: 行宣告,問題是include的東西能不能改也是個問題09/24 11:21
fragmentwing: /default.htm?turl=qdag.htm09/24 11:22
fragmentwing: 根據這個網站內提供的程式碼 error tolerances09/24 11:23
fragmentwing: ERRABS = 0.009/24 11:23
fragmentwing: 這個可能也要改09/24 11:23
感謝f大給了很多建議 我再試看看! ※ 編輯: workhard0815 (27.247.41.189 臺灣), 09/24/2019 19:11:05