【发布时间】:2017-04-06 09:58:25
【问题描述】:
在以下代码中:
(-8/27)^(2/3)
我得到了结果NaN,尽管正确的结果应该是4/9 或.444444...。
那么为什么它会返回 NaN?我怎样才能让它返回正确的值?
【问题讨论】:
-
理论上,你不能真正将负数提高到非整数幂。例如,想想
(-1)^1.5的真正含义。任何非整数幂都需要复数根。 -
为了在数学上保持一致,IMO,您应该将负数保留在括号外(或分解操作,如下所示)
-
所以你的意思是我应该写
-(8/27)^(2/3)?那么答案就变成了-4/9,而不是4/9。 -
您还必须分配幂的分子(所以从技术上讲,它与以下相同)
(-1) ^ 2 * (8/27)^(2/3) -
@SeñorO -- See here 讨论求幂的一种含义,在这种含义下,可以在不涉及复数的情况下回答 OP 的问题。
标签: r