变量值变成NaN的原因
模拟粒子产生的程序,不知为什么有时程序将粒子的动量赋值为NaN? 见程序的2362行: if(isnan(e1))write(*,*) P(1,I1),P(2,I1),P(3,I1),& lb(i1)。 输出结果出现NaN.没找到原因?第一次发帖,请求大神帮助。多谢!
NaN 产生的原因一般是数学错误,分母为零,log取负数等等。
你可以下断点,单步调试分析一下,检查原因。
关于单步调试,你可以参考本站文章: http://debug.w.fcode.cn 获视频教程 http://v.fcode.cn/video-debugger.html 我把 MAXSTR=8000000 都改为 300,没有出现问题 vvt 发表于 2020-4-9 21:53
NaN 产生的原因一般是数学错误,分母为零,log取负数等等。
你可以下断点,单步调试分析一下,检查原因。
多谢指点
necrohan 发表于 2020-4-10 17:09
我把 MAXSTR=8000000 都改为 300,没有出现问题
谢谢指点,但是,但是那个数不能太小。 yonggc 发表于 2020-4-12 17:05
谢谢指点,但是,但是那个数不能太小。
太大我的计算机不支持。小的数没问题说明程序逻辑有问题。 回旋加速器?
页:
[1]