我想用gnuplot绘制一个函数,我需要从.txt文件中读取该行的斜率。 如何使用gnuplot查找此变量?
情况就是这样:
我的.txt文件包含:
0.0121200419333 / 200497.710163
0.0150797824833 / 200496.896578
我需要从第1列第2行读取数据并将其设置为f(x)= a * x + b的斜率并绘制它
答案 0 :(得分:1)
我认为(请更具体[在答案末尾更新]如果您需要更具体的帮助)您有一个文件(为了原创而称之为file
),如下所示:
This is a file with some text in it.
The slope of my curve should be slope = 6.
And some more text here.
并希望使用值slope = 6
作为gnuplot中函数的斜率。您需要读取此编号,一旦您知道如何找到它,就应该使用一些bash实用程序。在上面非常简单的情况下,您可以使用slope =
在文件中查找grep
,然后使用=
作为cut
的分隔符并告诉awk
打印它找到的第一件事:
grep "slope =" file | cut -d "=" -f2 | awk '{print $1}'
现在转到gnuplot并将其用作变量:
slope = `grep "slope =" file | cut -d "=" -f2 | awk '{print $1}'`
plot slope*x
这就是我在我的例子中得到的,slope = 6
:
您可能需要根据您的问题进行调整,但除非您提供更多详细信息,否则无法为您提供更好的指导。
对于您想要第二行第一条记录的特定情况:
a = `awk 'NR==2 {print $1}' file`
plot a*x