使用列的对数适合 gnuplot
Fit in gnuplot using the logarithm of a column
我在拟合数据集来计算温度计的响应时间时遇到了一些问题。所以我的数据集形式为
Time (s) - Temperature (K)
0.4820 295.0772
0.4840 295.0772
0.4860 295.1651
0.4880 295.1651
0.4900 295.1651
0.4920 295.2531
0.4940 295.2091
0.4960 295.2531
0.4980 295.2972
0.5000 295.3412
0.5020 295.2972
0.5040 295.3853
0.5060 295.3412
并且我想通过操作
仅对第二列进行线性化
y = log( - 325.6)
所以我用这种方式写了我的 .gp 文件
f(x) = a*x+b
fit f(x) 'termom_COST_SCALED.txt' via a, b u 1:(log( - 325.6))
p 'termom_COST_SCALED.txt' u 1:(log( - 325.6)) title 'T(t)',
f(x) title "Linear fit"
但不知何故不起作用,即使我绘制了没有拟合的图表
p 'termom_COST_SCALED.txt' u 1:(log( - 325.6))
结果是我想要的图形,我想从中进行拟合。 fit的语法是不是错了?
via a, b u 1:(log( - 325.6))
谢谢!
我认为 using
应该在 via
之前,您应该忽略数据文件中的 header every ::1
:
f(x) = a*x+b
fit f(x) 'termom_COST_SCALED.txt' u 1:(log( - 325.6)) every ::1 via a,b
p 'termom_COST_SCALED.txt' u 1:(log( - 325.6)) every ::1 title 'T(t)',\
f(x) title "Linear fit"
pause mouse
语法现在正确了。
您的第 2 列接近 295,这意味着 -325.6
接近 -31,其日志将很复杂:
gnuplot> print log(-31)
{3.43398720448515, 3.14159265358979}
真的是你想要的吗?
我在拟合数据集来计算温度计的响应时间时遇到了一些问题。所以我的数据集形式为
Time (s) - Temperature (K)
0.4820 295.0772
0.4840 295.0772
0.4860 295.1651
0.4880 295.1651
0.4900 295.1651
0.4920 295.2531
0.4940 295.2091
0.4960 295.2531
0.4980 295.2972
0.5000 295.3412
0.5020 295.2972
0.5040 295.3853
0.5060 295.3412
并且我想通过操作
仅对第二列进行线性化y = log( - 325.6)
所以我用这种方式写了我的 .gp 文件
f(x) = a*x+b
fit f(x) 'termom_COST_SCALED.txt' via a, b u 1:(log( - 325.6))
p 'termom_COST_SCALED.txt' u 1:(log( - 325.6)) title 'T(t)',
f(x) title "Linear fit"
但不知何故不起作用,即使我绘制了没有拟合的图表
p 'termom_COST_SCALED.txt' u 1:(log( - 325.6))
结果是我想要的图形,我想从中进行拟合。 fit的语法是不是错了?
via a, b u 1:(log( - 325.6))
谢谢!
我认为 using
应该在 via
之前,您应该忽略数据文件中的 header every ::1
:
f(x) = a*x+b
fit f(x) 'termom_COST_SCALED.txt' u 1:(log( - 325.6)) every ::1 via a,b
p 'termom_COST_SCALED.txt' u 1:(log( - 325.6)) every ::1 title 'T(t)',\
f(x) title "Linear fit"
pause mouse
语法现在正确了。
您的第 2 列接近 295,这意味着 -325.6
接近 -31,其日志将很复杂:
gnuplot> print log(-31)
{3.43398720448515, 3.14159265358979}
真的是你想要的吗?