我尝试从多个数据文件的散点图 . 我想在图中得到线性拟合,我想将相关系数写入图中 . 我想对这些数据文件中的某些行进行此操作 . 这是我的线性拟合:
fit [0:1] [0:1000] f(x) '< for i in data_1.csv data_2 data_3.csv \
data_4.csv data_5.csv; do cat "$i"; echo; done' every ::121::361 using 5:27 via a,b
这有效....现在以相同的方式获得相关系数会很棒......
stats '< for i in data_1.csv data_2 data_3.csv \
data_4.csv data_5.csv; do cat "$i"; echo; done' every ::121::361 using 5:27 "Correlation C."
这不起作用我收到此错误:
format must have 1-7 conversions of type double (%lf)
一些更新:
这是我的 Health 输出
Final set of parameters Asymptotic Standard Error
======================= ==========================
a = -410.518 +/- 32.5 (7.918%)
b = 746.018 +/- 5.448 (0.7302%)
correlation matrix of the fit parameters:
a b
a 1.000
b -0.695 1.000
我不确定输出是否适用于我的bash脚本以适应多个文件的曲线 . 坡度为-410.518似乎很奇怪 .
更新的问题:这个拟合在gnuplot中有多个文件吗?实际的Plot看起来很好,但为什么输出中有如此奇怪的值?
1 回答
这只是一个语法错误,从
stats
命令中删除"Correlation C."
,或使用name
为生成的变量提供除STATS_
之外的前缀:而且,您可以使用以下方法简化您的通话:
awk
合并所有文件(如果数据文件的最后一行没有新行,这也适用于cat data_*.csv
):