如何计算一个浮点数的另一个浮点数的幂?

veh*_*zzz 2 bash shell scripting awk sed

我试图弄清楚如何在 bash 中计算涉及括号和指数的数学表达式。欢迎使用 sed、awk、perl、bash 提供解决方案

例如

 i=0.0545
 j=360
 (1+ $i * 2.43 / 100.0) ^ ($j/940) -1
Run Code Online (Sandbox Code Playgroud)

您将如何在 bash 中编码并获得浮点结果?

Dia*_*ino 5

要计算x^n使用:

bc -l <<< "e($n*l($x))"

或者

echo "e($n*l($x))" | bc -l

理论

bc命令不处理使用浮点指数的求幂。然而,它具有指数e()和对数l()函数。使用这两个函数,我们可以通过属性x^n = exp(log(x^n)) = exp(n*log(x)) 来计算幂。