Fortran Coder

标题: 求各位大佬帮忙看看为什么会出现floating invalid的报错啊呜... [打印本页]

作者: deer    时间: 2021-10-31 12:34
标题: 求各位大佬帮忙看看为什么会出现floating invalid的报错啊呜...
[Fortran] 纯文本查看 复制代码
program sx02
    implicit none
    real,parameter::cp=1004
    real(8) es,e,q,l,b,td,seitase,tl,f,t,p
    read(*,*) f,t,p
   
    es=6.112*(10**((7.5*t)/(237.3+t)))
    e=f*es
    q=e/p
    l=597.3-0.566*t
   
    do while(e<es)
        t=t-0.5
        es=6.112*(10**((7.5*t)/(237.3+t)))
    end do
    td=t
   
    b=(0.622*l)/(cp*td-1)
    tl=(td*b)/(b+log(291.56/td))

输入数据是
0.97
291.56
1003.5
   
    seitase=291.56*((1000/(p-e))**0.286)*exp(l*q/cp/tl)
    write(*,*) ,seitase
    end program sx02



作者: Transpose    时间: 2021-10-31 14:46
26 行
[Fortran] 纯文本查看 复制代码
((1000/(p-e))**0.286)


其中 1000/(p-e)<0 ,一个小于0 的数的小数幂次不能在实数域定义,所以返回NaN
作者: deer    时间: 2021-11-1 15:15
Transpose 发表于 2021-10-31 14:46
26 行

其中 1000/(p-e)

啊懂了谢谢大佬!




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2