发现R语言无法计算负数的奇次方根,下面跟大家分享一段自己写的代码用于计算负数的奇次方根。原理很简单,举个例子,就是,(-a)^(n) = (-1)^n * a^n,其中,a>0,1/n为奇数。
代码如下:
Cal_root = function(n,Neg_value){
if(Neg_value >= 0) stop("Neg_value 应该为负数")
if(n %% 2 == 0 ) stop("n 应该是奇数")
if(n < 1 ) stop("n 应该大于1")
value = -1 * abs(Neg_value)^(1/n)
return(value)
}
该函数开几次根就将n设置为几,比如-20开3次方根,则
# example
Cal_root(3,-20)
结果:-2.714418