总结--Gnuplot表达式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了总结--Gnuplot表达式相关的知识,希望对你有一定的参考价值。

我试图在Gnuplot中使用求和表达式,但它不能正常工作。我的数据结构如下,有很多行。

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

我想绘制下面的方程。

u = (sqrt(sum(x)**2 + sum(y)**2 + sum(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

结果:

enter image description here

以上是关于总结--Gnuplot表达式的主要内容,如果未能解决你的问题,请参考以下文章

Gnuplot

从 C 中使用 gnuplot

gnuplot - 轴上的物理尺寸

gnuplot - 正确裁剪 3D 图(splot)

Emmet语法总结

在不使用十六进制代码的情况下在 gnuplot 中设置线条不透明度