作者SYlin (喔)
看板Fortran
标题[问题] 数值太大导致run time error
时间Wed Jan 27 17:11:13 2010
我有个问题
b=10E5 w=0.5
在跑到这一行的时候
s=((b*w)**2.0*exp(b*w))/(1+exp(b*w))**2.0
就会出现 run time error
请问有什麽办法可以解决吗?
希望各位高手帮帮忙
感恩~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.116.91.131
1F:推 egggg:改写成s=((b*w)**2.0*exp(-b*w))/(1+exp(-b*w))**2.0 01/27 18:38
2F:推 sjgau:使用 REAL*8 01/27 18:40
3F:推 egggg:改成real*8还是有危险,不过这数根本上是个0... 01/27 19:02
4F:→ SYlin:已经是REAL*8了 01/27 20:53
5F:→ SYlin:感谢楼上两位 我後来取LOG算 再用EXP 就可以算了 01/27 20:57
6F:→ SYlin:不过不知道这样精确度会不会比较差 01/27 20:59
7F:推 Gwaewluin:应该是医定变差吧,又是log又是exp的 01/28 07:18
8F:→ Gwaewluin: 一 01/28 07:18