我想用gnuplot的命令求和以下几列的值,它们的索引分别是(16、18、20、24、26、28、32、34、36),而无需显式键入索引。
我知道有一个命令可以对不同列的值求和,这些索引可以用变量的函数表示:
plot 'data' using 1 : (sum [col=8:10] column(col*2))
问题在于,在我的情况下,索引只能用两个变量来描述,因此需要嵌套循环/和。索引的伪代码为
for i=0:2 {for j=0:2 { index = ( j + 8 + i*4 ) * 2 } }
是否可以在gnuplot中进行嵌套求和或for循环?
答案 0 :(得分:0)
gnuplot中的所有迭代都以递归方式工作。无需特殊语法即可将一个嵌套在另一个内部。例如
filename(n,m) = sprintf("NAME_%d_%d.dat",n,m)
plot for [i=1:5] for [j=i:5] filename(i,j)