2014-05-23 81 views
0

我不知道其他R用户是否发现以下问题。指数和负数

在R里面我做了如下因素操作:

> (3/-2)^(1/3) 
[1] NaN 

我获得NaN结果。

我,如果我设置了类似的方法:

> w<-(3/-2) 
> g<-1/3 
> w^g 
[1] NaN 

但是,如果我这样做:

> 3/-2 
[1] -1.5 
> -1.5^(1/3) 
[1] -1.144714 

有没有人可以解释这个矛盾?

回答

1

开始做(3/2)^(1/3)后加“-” 你不能计算一个负数的立方根!

1

这是由于指数的数学定义。对于连续的实幂运算符,您不允许有一个负数的基数。

3

你在哪里看到问题? -1.5^(1/3)(-1.5)^(1/3)不一样。如果你有基本的数学教育,你不应该期望这些都是一样的。

help("Syntax")得知^具有更高的优先级比R.

0

-如果你真的想要的答案,你可以做计算过复数,即得到-1.5+0i立方根:

complex(real=-1.5,im=0)^(1/3) 
## [1] 0.5723571+0.9913516i 

这实际上是唯一的x^3+1.5==0了三种复合根源之一:

polyroot(c(1.5,0,0,1)) 
[1] 0.5723571+0.9913516i -1.1447142+0.0000000i 0.5723571-0.9913516i 

但其他答案可能更接近解决你真正的问题。