vlambda博客
学习文章列表

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


无关内容:开心快乐每一天!!!