24小时热门版块排行榜    

CyRhmU.jpeg
查看: 815  |  回复: 13
当前主题已经存档。

argo

铁杆木虫 (著名写手)

上善若水

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
wangen994(金币+2,VIP+0):谢谢交流 6-11 12:23
从你的截图看,问题就是出在sqrt函数上,应该是里面的值为负,建议按楼上几位说的方法查找一下。
NaN就不是一个数,如楼上所说,Not A Number,这时使用sqrt也是出错。
居善地,心善渊,与善仁,言善信,正善治,事善能,动善时。
11楼2009-06-05 20:35:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

junyez

木虫 (小有名气)

引用回帖:
Originally posted by joshzrr at 2009-6-3 10:57:
同意 这种做法
有可能是你定义的精度不够 的原因 你所想要得到的值 被舍入 从而出现了0 或者负数

怎么才能找到出错误的代码,类似的运算很多的?
12楼2009-06-11 11:00:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

joshzrr

至尊木虫 (著名写手)

★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
wangen994(金币+3,VIP+0):谢谢交流 6-12 10:12
引用回帖:
Originally posted by junyez at 2009-6-11 11:00:

怎么才能找到出错误的代码,类似的运算很多的?

这样吧 我说说我的笨方法吧
在所有的sqrt前面加上两条语句
pause 1
write(*,*)'求平方根的数,就是sqrt括号里面那个数'
输出后 看计算到那里出现了负值
然后找原因 为什么 如果是精度的问题
大可在sqrt前 加个if语句来 改变那个数的值

如果不是 就要查结构了

希望能有帮助

BEST WISHES
13楼2009-06-12 09:15:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

junyez

木虫 (小有名气)

引用回帖:
Originally posted by joshzrr at 2009-06-12 09:15:56:

这样吧 我说说我的笨方法吧
在所有的sqrt前面加上两条语句
pause 1
write(*,*)'求平方根的数,就是sqrt括号里面那个数'
输出后 看计算到那里出现了负值
然后找原因 为什么 如果是精度的问题
大可在s ...

谢谢你
14楼2010-03-04 10:35:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 junyez 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见