jacobi 发表于 2010-5-9 08:29:42

(-500)^0.7在Fortran中计算问题

(-500)^0.7在Fortran中计算问题。(-500)^0.7
在matlab中的结果为 -45.5510 +62.6955i


在compaq fortran中计算为:
(NaN,0.000000000000000E+000)
Press any key to continue
做甚解呢?

fortran中程序如下:

PROGRAM KK
IMPLICIT NONE
COMPLEX(KIND=8)::A
A=(-500)**0.7
WRITE(*,*)A
END PROGRAM KK


转自:http://www.chinavib.com/forum/redirect.php?tid=92556&goto=lastpost#lastpost

GWinston 发表于 2010-5-12 14:07:47

本帖最后由 GWinston 于 2010-5-12 14:15 编辑

A=(-500)**0.7中-500是实数,不是复数
改为:
A=(-500,0)**0.7
即可
当然,你定义A为双精度的,还应该把等号右边数据改成双精度才有意义,否则计算结果有效数字只有前6到7位,后面的不精确。

jacobi 发表于 2010-5-15 10:00:29

感谢GWinston 指点,呵呵
:)
页: [1]
查看完整版本: (-500)^0.7在Fortran中计算问题