求和-Gnuplot表达式

求和-Gnuplot表达式,gnuplot,Gnuplot,我试图在Gnuplot中使用求和表达式,但它不能正常工作。我有以下数据结构,其中包含许多行: t x1 y1 z1 x2 y2 z2 x3 y3 z3。。。x98 y98 z98 我想画出以下等式: u=(sqrt(总和(x)**2+总和(y)**2+总和(z)**2))/98 98是点数(x,y,z) 到目前为止,我掌握的是如何绘制x1、x2、x3列的平均值。。详情如下: plot 'data file' u 1:((sum[i=0:ColCount-1] column(i*ColStep+C

我试图在Gnuplot中使用求和表达式,但它不能正常工作。我有以下数据结构,其中包含许多行:

t x1 y1 z1 x2 y2 z2 x3 y3 z3。。。x98 y98 z98

我想画出以下等式:

u=(sqrt(总和(x)**2+总和(y)**2+总和(z)**2))/98

98是点数(x,y,z)

到目前为止,我掌握的是如何绘制x1、x2、x3列的平均值。。详情如下:

plot 'data file' u 1:((sum[i=0:ColCount-1] column(i*ColStep+ColStart))/ColCount) w lines ls 4 notitle

Where ColCount = 98, ColStep = 3 and ColStart=2.

但我一直在试图画出这个等式,但它不起作用。我真的很感激任何帮助

以下脚本的作用: 它取
(x1+x2+x3)**2和
(y1+y2+y3)**2和
(z1+z2+z3)**2之和的平方根。这可以使您适应列编号。
但我还是不确定这是否是你想要的。请澄清

代码:

### summing up columns
reset session

$Data <<EOD
#t   x1   y1   z1   x2   y2   z2   x3   y3   z3
 1 1.11 1.21 1.31 2.11 2.21 2.31 3.11 3.21 3.31
 2 1.12 1.22 1.32 2.12 2.22 2.32 3.12 3.22 3.32
 3 1.13 1.23 1.33 2.13 2.23 2.33 3.13 3.23 3.33
 4 1.14 1.24 1.34 2.14 2.24 2.34 3.14 3.24 3.34
 5 1.15 1.25 1.35 2.15 2.25 2.35 3.15 3.25 3.35
 6 1.16 1.26 1.36 2.16 2.26 2.36 3.16 3.26 3.36
 7 1.17 1.27 1.37 2.17 2.27 2.37 3.17 3.27 3.37
 8 1.18 1.28 1.38 2.18 2.28 2.38 3.18 3.28 3.38
 9 1.19 1.29 1.39 2.19 2.29 2.39 3.19 3.29 3.39
EOD

ColStep = 3
ColCount = 3

mySum(ColStart) = sum[i=0:ColCount-1] column(i*ColStep+ColStart)

plot $Data u 1:(sqrt(mySum(2)**2 + mySum(3)**2 + mySum(4)**2)) w lp pt 7 notitle
### end of code
###汇总列
重置会话

$Data可能还有其他问题,但首先,我认为列编号的表达式被关闭了1(x1位于列1中,而不是列0)。所以第一个尝试的变化是“绘图。。。使用1:((sum[i=0:ColCount-1]列(1+(i*ColStep+ColStart))/ColCount))…嗨,伊桑,非常感谢你的回复。我已经检查了列号的表达式,对我来说似乎没有问题:对于I=0-->0*3+2=2,这里是x1对于I=1-->1*3+2=5,这里是x2对于I=2-->2*3+2=8,这里是x3,那么我的观点是所有x列的和都发生了,因为x1从列号2开始。如果我错了,请告诉我。再次感谢,“不工作”是什么意思?您是否收到错误消息,是否收到错误图形。。。?对我来说,x1之和意味着:对x1列中的所有值求和。但您当前正在计算和绘制的是x1、x2、x3、…x98列与t列的平均值。我还不清楚你到底想要什么。@theozh,没错。我没有很好地描述这个问题。当前代码所做的是计算并绘制x1、x3、x3列的平均值。。对t。我已经编辑了我的帖子。我将在下面的回答中回答其余的问题,以澄清问题。谢谢你再次帮助我。我真的很感谢你的帮助。因为我之前的帖子不太清楚,上面的脚本几乎完成了我想要的所有事情。我想要的是得到列的平均值。因此,我只需除以ColCount,如下所示:mySum(ColStart)=((sum[I=0:ColCount-1]列(I*ColStep+ColStart))/ColCount)。脚本运行得很好。非常感谢。