如何在Gnuplot中绘制噪声值的平均值

如何在Gnuplot中绘制噪声值的平均值,gnuplot,noise,noise-reduction,Gnuplot,Noise,Noise Reduction,是否有可能过滤Gnuplot中的噪声并获得具有不同集合平均值的图?图可以在下面看到 要平滑有噪声的曲线,您至少有两种策略:一种是使用平滑核,例如高斯函数,它提供局部平均值。另一个是计算总平均值或插值函数,如果您知道数据的函数形式。两者都可以通过gnuplot完成 由于您没有提供数据文件,我生成了以下文件,其中填充了从$randombash变量获得的1000个随机值: for i in `seq 1 1 1000`; do echo $RANDOM >> data; done 这将生

是否有可能过滤Gnuplot中的噪声并获得具有不同集合平均值的图?图可以在下面看到


要平滑有噪声的曲线,您至少有两种策略:一种是使用平滑核,例如高斯函数,它提供局部平均值。另一个是计算总平均值或插值函数,如果您知道数据的函数形式。两者都可以通过gnuplot完成

由于您没有提供数据文件,我生成了以下文件,其中填充了从
$random
bash变量获得的1000个随机值:

for i in `seq 1 1 1000`; do echo $RANDOM >> data; done
这将生成0-32767范围内的随机数据,即对于具有足够代表性的数据样本,平均值应为16383.5。让我们绘制它以查看原始数据的外观:

plot "data" t "data", 16383.5 t "theoretical average"

第一种策略是使用高斯核平滑数据(
smooth kdensity
):

正如你所看到的,这个方法可以让你在中间平滑,但是也考虑到边缘缺少数据点。 为了防止这种情况发生,我可以通过为第三列提供带宽(在本例中等于10)来增加平滑的“局部性”:

拟合的平均值需要
拟合

fit a "data" via a
plot "data" t "data", a t "calculated average"

您是要将四条曲线的平均值设为一个绘图,还是要过滤每条曲线?嘿,Christoph,我想平均每个绘图中的值。但我希望对不同的细分市场进行平均,因此遵循趋势。我不想在t_init和t_final之间有一个固定的平均值。嘿,米格尔,非常感谢你的回答。如果你能在整个时间间隔内求平均值,这肯定是有帮助的。有可能有一个可以平均的短时间序列吗?例如,t=0和t=5之间的平均值,然后继续t=5,t=10。基本上是从一个平均到另一个平均。这可能吗?您可以这样设置间隔
fit[0:5]a…
plot "data" u 0:1:(10) smooth kdensity t "data", 16383.5 t "theoretical average"
fit a "data" via a
plot "data" t "data", a t "calculated average"