Gnuplot,取每2行的平均值

Gnuplot,取每2行的平均值,gnuplot,Gnuplot,我试图绘制每两行的平均值。因此,gnuplot应该取前两行,将它们相加,然后将结果除以2。在第3行和第4行等重复相同的操作 所以 10 20 30 40 将是一个点位于 15 35 欢迎提出任何建议,谢谢 plot n=0, dataf using 0:(n==0 ? (a=$1, n=1, NaN) : (n=0, ($1+a)/2)) 标志变量“n”在每个点从0变为1,如果为0,则当前值保存为“a”,并返回NaN,如果为1,则返回当前值和a的平均值 选中“帮助三值运算符” 数学

我试图绘制每两行的平均值。因此,gnuplot应该取前两行,将它们相加,然后将结果除以2。在第3行和第4行等重复相同的操作

所以

10

20

30

40
将是一个点位于

15

35
欢迎提出任何建议,谢谢

plot n=0, dataf using 0:(n==0 ? (a=$1, n=1, NaN) : (n=0, ($1+a)/2))
标志变量“n”在每个点从0变为1,如果为0,则当前值保存为“a”,并返回NaN,如果为1,则返回当前值和a的平均值

选中“帮助三值运算符”

数学表达式中的逗号表示“连续执行此操作并仅返回最后一部分的结果”,这称为“串行计算”


绘图中的第一部分(n=0)未实际绘制。它只是确保n始终正确初始化以进行重新填充,例如当您放大绘图时。

我非常感谢您的回答。然而,调用此函数后,我得到以下输出:线程“thread-13”java.lang.IllegalThreadStateException中的readLine()失败异常:进程尚未在jgp.GNUPlotRunner.run(jgpgnupplot.java:113)的java.lang.UNIXProcess.exitValue(UNIXProcess.java:270)中退出运行(Thread.java:745)。下面是我使用的命令:n=0,plot[:8000.0][:140.0][:]'/home/john/muxplotsl/MUX01old',使用0:(n==0?(a=$1,n=1,NaN):(n=0,($1+a)/2)和标题为“Port 0”的行经过一点修改后,我发现原因是NaN语句。是否有任何可能的替换?请尝试使用“1/0”而不是“NaN”。但是除了java之外,您还使用什么奇怪的gnuplot版本呢?第三个范围说明符应该做什么?而“用线”绘图是不可行的,因为每一个点都是NaN,所以不会画线。