如何使我的数学公式在bc-l或awk中正确?

如何使我的数学公式在bc-l或awk中正确?,awk,bc,Awk,Bc,这里我想用bc-l或awk来解一个公式 我有一些固定编号,我可以定义如下: A=5.8506 B=200.26323 C=151.3219 D=11.9275 E=0 and 5 我想用下面的数学公式得到答案: Ei={(B)*(C/(E*D+C))^(1/D)}^(1/3) 根据我的公式,E=0的答案应该是5.7965,E=5的答案应该是5.7965 请给我一个简单的方法来得到上述数学公式的答案。我没有找到任何代码,如果它已经可用 我所尝试的: a=$(echo "$E*$D | bc -

这里我想用bc-l或awk来解一个公式

我有一些固定编号,我可以定义如下:

A=5.8506
B=200.26323
C=151.3219
D=11.9275
E=0 and 5
我想用下面的数学公式得到答案:

Ei={(B)*(C/(E*D+C))^(1/D)}^(1/3)
根据我的公式,E=0的答案应该是5.7965,E=5的答案应该是5.7965

请给我一个简单的方法来得到上述数学公式的答案。我没有找到任何代码,如果它已经可用

我所尝试的:

a=$(echo "$E*$D | bc -l)
echo "$a"
b=$(echo "$a+$C | bc -l)
echo "$b"
d=$(echo "$C/$b" | bc -l)
echo "$d"
E=$(echo "1/$D" | bc -l)
echo "$E"
F=$(echo "$E*$d" | bc -l)
echo "$F"
最后一步应该为我的公式的这部分给出答案,当我得到1时,它应该是1.5232201399104

$ awk -v E=5 '
BEGIN{
    A=5.8506
    B=200.26323
    C=151.3219
    D=11.9275
    Ei=((B)*(C/(E*D+C))^(1/D))^(1/3)
    print Ei
}'
5.79653


bc不支持分数次幂,所以需要使用awk
$ awk -v A=5.8506 -v B=200.26323 -v C=151.3219 -v D=11.9275 -v E=0 '
BEGIN{                        
    Ei=((B)*(C/(E*D+C))^(1/D))^(1/3)
    print Ei
}'
5.8506