Fortran Coder

标题: Fortran 怎样输出准确数值 [打印本页]

作者: tianyou    时间: 2021-12-7 18:01
标题: Fortran 怎样输出准确数值
大家好!
我正在用Fortran 分析一个差分方程 $x_{n+1} = 4.0 * x_n * (1.0 - x_n)$ (Logistic 映射)。
由于此方程对于x 的初值的输入十分敏感,即初值x = 0.1或 x = 0.1000001得到的结果完全不同。
我用 f90 定义了
Real(Kind = 8) :: x = 0.1
Write(*,*) "x1 = ", x1
我得到
x1 = 0.10000000149011612
我想问问,Fortran 在计算中对于x1的取值是0.1还是0.10000000149011612?
有什么办法可以令x1的取值为0.1而不是0.10000000149011612?
谢谢!

作者: Transpose    时间: 2021-12-7 18:49
常数默认是单精度类型,双精度的0.1需要使用 0.1d0
作者: fcode    时间: 2021-12-7 19:48
Real(Kind = 8) :: x = 0.1_8




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