我想在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"
最后一步应为我的公式( C/(E*D+C) )^(1/D)
的这一部分给出答案,当我得到1时应为1.5232201399104。
答案 0 :(得分:1)
好,现在是awk:
$ 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
或
$ 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