24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1545  |  回复: 1

zouji1983

金虫 (正式写手)

[求助] fortran floor函数求助

function dmudx(iu,iv,ip,ix,iy)
  integer :: iu, iv, ip, ix, iy, i, j
  real(8) :: dmudx
  real(8) :: thermo_dx=0.001
  i = floor(xp(1,ip,ix,iy)/thermo_dx+0.5d0)+1
  j = floor(xp(2,ip,ix,iy)/thermo_dx+0.5d0)+1
Remark: real(8):: xp=(1:2,1:2,0:201,0:201)
运行程序的时候总是出现:appears'run-time error M6201:MATH- floor: DOMAIN error'

请教高手帮忙指点啊,我菜鸟一个,比较着急,谢谢!

[ Last edited by jjdg on 2012-8-25 at 00:29 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jjdg

版主 (知名作家)

优秀版主

【答案】应助回帖


感谢参与,应助指数 +1
xzhdty: 金币+1, 谢谢jjdg版主 2012-08-26 21:14:46
An argument to the given function was outside the domain of legal input values for that function. For example, the following statements generate this error:
result = sqrt(-1.0) // C statement
result = SQRT(-1.0) ! FORTRAN statement

In your case, the 'function' is 'exp'. I do not know what the acceptable 'domain' is for the IA32 Fortran function 'exp', but in MS Visual Basic,  If the value of number in exp(number) exceeds 709.782712893, an error occurs.
以下页面有详细解释:
http://software.intel.com/en-us/forums/showthread.php?t=59099
努力学习!以正当途径!获得需要的知识!
2楼2012-08-25 00:31:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 zouji1983 的主题更新
信息提示
请填处理意见