主题:急 等!!!!!!Fortran计算出现NAN了,怎么让它立刻停止
liuqc
[专家分:0] 发布于 2010-10-12 12:59:00
Fortran计算出现NAN了,怎么让它立刻停止
由于我的计算用的是迭代,所以不太好准确的寻找哪最开始出现NAN,所以我想请问有没有判断的依据让程序计算一旦出现NAN就立马停止 谢谢
回复列表 (共15个回复)
11 楼
yeg001 [专家分:14390] 发布于 2010-10-14 09:39:00
其实遇到NAN不停下来是必要的
有些问题是物理本身导致病态, 算一大组数据因为其中一个NAN导致停止就悲剧了.
我是想知道有没有不依赖编译器的判断方法呢?
12 楼
yeg001 [专家分:14390] 发布于 2010-10-14 09:42:00
发帖动作慢, 发帖的时候还没看到f2003兄9楼的详细论述.
13 楼
adda [专家分:1520] 发布于 2010-10-14 10:21:00
[quote][quote]使用intel fortran的话,使用/fpe0选项,在debug下运行,这样一旦有NaN产生,就会报错并提示错误位置[/quote]
学习了,在IDE里面怎么设置呢?[/quote]
项目属性-Fortran-Floating Point-Floating-point exception handling
14 楼
jstzhurj [专家分:4680] 发布于 2010-10-14 10:32:00
找到,谢谢!
15 楼
jstzhurj [专家分:4680] 发布于 2010-10-14 10:54:00
[quote][quote][quote]使用intel fortran的话,使用/fpe0选项,在debug下运行,这样一旦有NaN产生,就会报错并提示错误位置[/quote]
学习了,在IDE里面怎么设置呢?[/quote]
项目属性-Fortran-Floating Point-Floating-point exception handling[/quote]
于是,楼主的愿望通过这个设置即可实现。不过在编程时,除不可预料的情形,还是要尽量避免出现NaN,inf之类的东东。
我来回复