math - 负指数在 Fortran 中抛出 NaN

标签 math fortran

非常基本的 Fortran 问题。以下函数返回 NaN,我似乎无法弄清楚原因:
F_diameter = 1. - (2.71828**(-1.0*((-1. / 30.)**1.4)))
我喂了 2.71... in 而不是使用 exp()但他们都以同样的方式失败。我注意到当小数部分 (-1/30) 为负时,我只会得到 NaN。正面评价还可以。

非常感谢

最佳答案

问题是你正在取负数的根,这会给你一个复杂的答案。如果你想象一下,这会更明显,例如

(-1) ** (3/2)

这相当于
(1/sqrt(-1))**3

换句话说,您的分数指数不能对负数进行微不足道的运算。

关于math - 负指数在 Fortran 中抛出 NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8314268/

相关文章:

python - 使用 Cython 将 np.ndarray 传递到 Fortran

module - 预处理器和使用关联

oop - 使用延迟和不可重写过程和 gcc 编译器面向对象的 Fortran 中的不确定行为

javascript - 如何将 float 增加最低的零

delphi - 奇怪的 Delphi 整数乘法行为

fortran - 错误: Nonnegative width required in format string at (1)

fortran - MPI_SCATTER Fortran 矩阵(按行)

algorithm - 将数字转换为特定范围内的等效数字

java - 检查点在Java Swing中是否在线

math - 判断一个点是否在直角三角形内