我需要在每个第二个块的第2行中绘制迭代(不是i)与f(i)的关系。我用'*'标记了值。我尝试使用'every'来提出一些解决方案,但无法弄清楚如何从两个独立的块中相互映射数据。有多个块继续使用此模式。我选择只显示1次重复。重新格式化数据是最后的选择。我想设计一种方法来绘制当前格式的数据。有人能提供一些见解吗?
i f(i) x(i) iteration = 0*
1 0.000E+00 1.478E-02 Vlnp
2 -1.000E-06* 7.352E-01 Vvnp
3 0.000E+00 7.512E-01 rhovnp
4 -9.721E-01 9.180E+02 Pnp
5 9.721E-01 4.380E+06 hvnp
6 1.000E-06 1.000E-06 mdevap
i f(i) x(i) iteration = 1*
1 -2.776E-17 -1.265E+02 Vlnp
2 1.985E-10* 1.273E+02 Vvnp
3 -1.224E-03 4.292E+03 rhovnp
4 -9.983E-01 9.180E+02 Pnp
5 1.018E+00 -2.560E+10 hvnp
6 4.468E-08 3.250E+06 mdevap
答案 0 :(得分:1)
我强烈建议您重新构建数据。也可以使用grep
,awk
和sed
等工具在gnuplot中内联。这是一个有效的例子。
plot "< grep '*' kxkdata | awk '/^ i/ {printf $6\" \"} /^ 2/ {print $2}' | sed 's/\*//g'"
基本上<
意味着从一种子shell中读取(我称之为文件kxk7607)。有关命令行工具的使用,您可以在线查找信息。