微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Gnuplot:如何绘制前一个残差到下一个残差的总和,直到我的n个残差的n-1个总和所需的绘图值?

如何解决Gnuplot:如何绘制前一个残差到下一个残差的总和,直到我的n个残差的n-1个总和所需的绘图值?

我有这个残差 .conv 文件(如 .txt 文件):

        0     -3.39778780952e+00     -3.64444458026e+00     -6.13098312717e+00     -3.33731379258e+00      9.60958415473e-02
        1     -5.68002563742e+00     -5.05666214505e+00     -6.80071922409e+00     -5.04462782788e+00      2.22031207076e-03
        2     -5.64107082704e+00     -4.97249772797e+00     -6.79863961158e+00     -4.96268354902e+00      2.61811084403e-03
        3     -5.80553774139e+00     -5.92252773129e+00     -8.00308750495e+00     -5.70572702588e+00      4.58014609089e-04
        4     -5.78806459727e+00     -6.01639219099e+00     -8.59850185227e+00     -5.72299102224e+00      3.93884617760e-04
        5     -6.81638698130e+00     -6.73802955972e+00     -8.62025323625e+00     -6.62315587350e+00      8.89255543212e-05
        6     -6.51291720873e+00     -6.69293919422e+00     -8.66002661220e+00     -6.43426100314e+00      1.09754466079e-04
        7     -7.57778891780e+00     -7.00314649895e+00     -8.63923998027e+00     -6.98816143858e+00      5.94338661679e-05
        8     -7.56036077709e+00     -7.01274467096e+00     -8.62954759664e+00     -6.99585319125e+00      5.69443692058e-05 

并且我想在 GNUPLOT 中绘图,第一列有一个新列(如果不需要创建一个新列,则不需要),它将第 6 列残差的前一个值与 6th 列依此类推,直到我拥有 6th 列值的 (n-1) 个总和(所需的绘图值),以获得每次迭代的最终变形。

例如,当我对第 6 列值求和时:9.60e10-2 + 2.22e10-3 --> 我想要的列数据的第一个 9.60e10-2 + 2.22e10-3 + 2.22e10-3 --> 我想要的列数据的第二个值 等等

我想我需要一个函数来为 GNUPLOT 绘制此图。

谢谢

解决方法

如果我理解得很好,你想制作一个累积图,像这样:

example plot

它是由:

plot[1:][0.095:] 'temp.dat' u 1:6 smooth cumulative w p ps 2 lw 2 notitle

但关键是 smooth cumulative

,

使用以下代码绘制一列的总和。我想它接近我从你的问题中理解的。但是,第 1 个值将是第 1 行,第 2 个值将是第 1+2 行,第 3 个值将是第 1+2+3 行,依此类推。我希望您可以根据需要进行修改。

代码:

### sum up a column
reset session

$Data <<EOD
0     -3.39778780952e+00     -3.64444458026e+00     -6.13098312717e+00     -3.33731379258e+00      9.60958415473e-02
1     -5.68002563742e+00     -5.05666214505e+00     -6.80071922409e+00     -5.04462782788e+00      2.22031207076e-03
2     -5.64107082704e+00     -4.97249772797e+00     -6.79863961158e+00     -4.96268354902e+00      2.61811084403e-03
3     -5.80553774139e+00     -5.92252773129e+00     -8.00308750495e+00     -5.70572702588e+00      4.58014609089e-04
4     -5.78806459727e+00     -6.01639219099e+00     -8.59850185227e+00     -5.72299102224e+00      3.93884617760e-04
5     -6.81638698130e+00     -6.73802955972e+00     -8.62025323625e+00     -6.62315587350e+00      8.89255543212e-05
6     -6.51291720873e+00     -6.69293919422e+00     -8.66002661220e+00     -6.43426100314e+00      1.09754466079e-04
7     -7.57778891780e+00     -7.00314649895e+00     -8.63923998027e+00     -6.98816143858e+00      5.94338661679e-05
8     -7.56036077709e+00     -7.01274467096e+00     -8.62954759664e+00     -6.99585319125e+00      5.69443692058e-05 
EOD

plot s=0 $Data u 1:(s=s+$6) w lp pt 7 title "Sum up"

### end of code

结果:

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。