作者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