R语言 负数开奇次方根
前段时间在写代码时,无意间发现R语言竟然不能对负数开奇次方根,然后在网上查了一下是否有可用的命令,然而也没找到自己想要的,就自己写了一个。分享给大家。
首先说一下编写代码的原理。其实就是利用下面的公式:
其中n是大于0的整数且为奇数。呵呵,发现数学才是唯一的真理了吧。
废话留在后面,直接上代码:
Cal_root = function(n,Neg_value){
if(Neg_value >= 0) stop("Neg_value should be negative")
if(n %% 2 == 0 ) stop("n should be odd number")
value = -1 * abs(Neg_value)^(1/n)
return(value)
}
解释一下上面代码:if语句的使用主要是为了防止计算时,一不小心少了个负号什么的,主要是看起来高大上一些。在这个函数中,n为大于0的整数且为奇数。比如说你如果想计算-8的3次方根,那么可以使用下面的代码:
Cal_root(3,-8)
结果为:-2
再举个例子,计算-5的3次方根,则代码为:
Cal_root(3,-5)
结果为:-1.709976
无关内容:开心快乐每一天!!!