Fortran 90产生不正确的答案,当答案应为1时产生0。我是否忽略了任何内容?

问题描述 投票:0回答:1

这是我编写的Fortran 90代码。我正在较大的代码中使用此函数,但结果不正确。

我在数学上知道答案应为1(或由于计算而接近1,但我的答案结果为0。

我做错什么了吗?有我不知道的东西吗?

这是我在Windows gfortran上编译并运行的代码,保存为test.f90。>

program main
    implicit none

    real*8 :: y, t

    t = 0.0
    y = (1/3)*exp(5*t) + (2/3)*exp(-t) + t*t*exp(2*t)

    print*, 'y= ', y

end program main

这是我编写的Fortran 90代码。我在较大的代码中使用了此函数,但结果不正确。我知道数学上的答案应该是1(或由于...

math fortran gfortran fortran90
1个回答
-1
投票

fortran认为1/3和2/3等于零。您应该在数字上加点:

© www.soinside.com 2019 - 2024. All rights reserved.