作者bloch (台灣)
看板Fortran
標題[問題] 迴圈出來的值不同?
時間Fri Oct 15 07:05:25 2010
先說聲不好意思,因為我問的問題比較general一點
而且我沒辦法po出我的程式。
問題是這樣的,我想要改變角度然後去算相變溫度。
假設用迴圈方法去執行同一段程式,程式裡頭唯一不同的只有角度。
假設做了十圈,也就是執行了十次
我發現當我每一圈都去算一樣角度的時候,第二到第九圈的答案是一樣的,
但是第一圈卻算出不一樣的答案,雖然很接近,差了不到百分之一。
我想過的可能原因是有些實際上為零的變數,我沒先預告為零,當fortran
下去運行的時候是使用了一個很趨近於零的數,導致結果不一樣,而這段程式
的行末有宣告為零,所以二到九圈是正常值。
我現在已經排除了這個可能,想請問大家還有沒有別的可能原因呢?
謝謝。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 160.94.47.16
1F:→ perturb:變數如果是real data type要考慮rounding error 10/15 15:34
2F:→ perturb:沒看見code隻能瞎猜了 10/15 15:34
3F:→ charlesdc:有效位數的問題嗎? 相差百分之一的地方是指哪裡?? 10/15 19:43