Bash 逐行乘法
我知道如何在列中乘法,但我不能处理行中的乘法。我想计算第一行中每个数字的三次方,然后乘以第二行的数字和一个常量变量。始终有两行,例如: 输入:常数:Bash 逐行乘法,bash,awk,Bash,Awk,我知道如何在列中乘法,但我不能处理行中的乘法。我想计算第一行中每个数字的三次方,然后乘以第二行的数字和一个常量变量。始终有两行,例如: 输入:常数:x a c ... ... b d ... ... 我希望有这样的输出: (a^3)*b*x (c^3)*d*x ... ... 一些实数的输入:常数:0.30和四列 1.00 2.00 4.00 7.00 1.10 1.05 0.30 0.10 输出: 0.33 2.52 5.76
x
a c ... ...
b d ... ...
我希望有这样的输出:
(a^3)*b*x (c^3)*d*x ... ...
一些实数的输入:常数:0.30
和四列
1.00 2.00 4.00 7.00
1.10 1.05 0.30 0.10
输出:
0.33 2.52 5.76 10.29
希望有人能帮忙。谢谢。我建议您阅读python中的列表。请查找参考资料。你的问题是你需要用代码弄脏你的手。开始练习更多编程问题。:) 目瞪口呆
awk-vx=0.3'{for(i=0;++i1{for(i=0;++i也许这会更直观
$ tr -s ' ' '\n' < file | pr -2t | awk -v x=0.3 '{printf "%.2f ", $1^3*$2*x} END{print ""}'
0.33 2.52 5.76 10.29
$tr-s''\n'
转置数据文件,使相关字段位于同一行,计算,转置。第3列和第4列应该是什么?相同的a c\b d
结构?此外,您总是只有两行四列吗?总是只有2行20列。那么,结构是什么?您定义为2x2No。注意要想在这里提出一个好问题,最好提供一个。你想要一个难看的代码吗?为什么不在python、ruby中这样做呢?这可能很好地解决了问题,但也请提供一个解释。许多新用户来到这里,对你的代码进行解释可以帮助他们学习如何调整代码来解决问题。
awk -vx=0.3 '{for(i=0;++i<=NF;)a[NR][i]=$i}NR>1{for(i=0;++i<=NF;)printf "%s ",(a[NR-1][i]^3)*a[NR][i]*x;print ""}' file
0.33 2.52 5.76 10.29
$ tr -s ' ' '\n' < file | pr -2t | awk -v x=0.3 '{printf "%.2f ", $1^3*$2*x} END{print ""}'
0.33 2.52 5.76 10.29