因此,R 表达式及其输出如下:
> (4-7)^1.3
[1] NaN
任何想法如何在 R 中解决这个问题?
答案是一个复数,所以你需要给它一个复数参数:
> (4-7+0i)^1.3
[1] -2.451751-3.374545i
但请记住,这只是一个根...
我引用维基百科,尤其是粗体文本(http://en.wikipedia.org/wiki/Exponentiation):
IEEE 754-2008 浮点标准用于大多数浮点库的设计。它推荐了许多不同的函数来计算幂:[19]
- pow 将 00 视为 1。这是最早定义的版本。如果幂是精确整数,则结果与 pown 相同,否则结果与 powr 相同(某些例外情况除外)。
- pown 将 00 视为 1。幂必须是精确整数。该值是为负数定义的,例如 pown(-3,5) 是 -243。
- powr 将 00 视为 NaN(非数字 - 未定义)。对于像 powr(−3,2) 这样底数小于零的情况,该值也是 NaN。该值由 epower×log(base) 定义。
所以我认为 R 根据国际标准表现出标准行为。