我知道我可以用bash这样的东西得到数字的平方根:
sqrt ( $aux )" | bc
但是,我可以在bash脚本中获取浮点数的第N个根吗?
答案 0 :(得分:3)
您可以使用awk
并从argv读取参数。
$ awk 'BEGIN { print (ARGV[1] ** (1.0 / ARGV[2])) }' 4 5
1.31951
例如,这将打印4的第5个根。
答案 1 :(得分:3)
在数学中,数字x的第n个根可以写成:
n √ x = x (1 / n ) = e (ln)/ n
不幸的是,bc
只允许使用整数指数,因此您无法使用x^(1/n)
因此需要使用第二种形式,例如
echo "e( l(4)/5 )" | bc -l
是4的第5根。
1.31950791077289425936
或者只使用perl和x**1/n
perl -E 'say 4**(1/5)' #parentheses are needed
# 1.31950791077289