主题:domain error
lqmj
[专家分:40] 发布于 2011-03-30 00:03:00
花了几个月编了个程序,但程序运行后老是显示domain error,咋办,郁闷
回复列表 (共11个回复)
沙发
yeg001 [专家分:14390] 发布于 2011-03-30 09:19:00
这样的错误一般是参数超出函数的范围. 查查是不是超出数学函数计算范围?
板凳
lqmj [专家分:40] 发布于 2011-03-30 13:20:00
谢谢你!我想大概也是这个问题,真是麻烦,一个程序里有好多循环,我感觉还不好查
3 楼
cgl_lgs [专家分:21040] 发布于 2011-03-31 14:04:00
这种必然出的问题用调试执行不就知道了?
4 楼
lqmj [专家分:40] 发布于 2011-04-04 16:08:00
谢谢3楼,我试试看。
5 楼
lqmj [专家分:40] 发布于 2011-08-30 08:11:00
奇怪,同一个程序前几天能运行给出计算结果,过几天运行后老是出现DOMAIN ERROR,太玄了
6 楼
cgl_lgs [专家分:21040] 发布于 2011-08-30 11:42:00
应该是初始化的问题。
1、看看程序都有什么Warning;
2、在每个子程序开始都加上Implicit None,然后逐个声名变量。
7 楼
lqmj [专家分:40] 发布于 2011-08-31 15:57:00
我把表达式换成另一种形式(这两种形式在数学上是恒等的)再用FORTRAN编程,就没有出现DOMAIN ERROR 了。
8 楼
yeg001 [专家分:14390] 发布于 2011-09-01 16:25:00
偶觉得最好还是查清楚原来的原因, 这种经验还是很宝贵的.
当然解决了问题也是好事.
9 楼
lqmj [专家分:40] 发布于 2011-09-02 16:23:00
多谢提醒,我试试。
10 楼
cgl_lgs [专家分:21040] 发布于 2011-09-05 10:47:00
如果是换了一种形式就不出错误提示了,那往往是计算机精度无法达到你的要求所致,比如exp或是ln神马的。
我来回复