我有一个关于在Gnuplot
中绘制指数拟合并在y-axis
中设置logscale
的问题。我正在使用 Gnuplot 4.6.3 。
我将介绍一些尝试设置范围以适应的方法:
我想要适合数据的函数是 f(x)= a + b * x
第一个:
set log y
f(x)=a+b*x
fit [4:8] f(x) 'CT2A_OH_R_log.dat' using (log($1)):($2) via a,b
Resutls:
Read 15 points
Skipped 15 points outside range [x=4:8]
No data to fit
error during fit
第二个:
fit f(x) 'CT2A_OH_R_log.dat' using (log($1)):($2) via a,b
结果:
Final set of parameters Asymptotic Standard Error
a =16.9858 +/- 6.299 (37.08%)
b =-8.43215 +/- 3.502 (41.53%)
gnuplot> plot 'CT2A_OH_R_log.dat', f(x) via a,b
显然这种合适是荒谬的,但这是我所知道的唯一能让我觉得合适的方式。我知道问题很可能在于xrange
在拟合时的定义,但我还能在那里写什么来解决这个问题?
下面我将展示我的情节图像(f(x)未显示,因为它是在负面区域绘制的。)
答案 0 :(得分:1)
'导致y logscale
的{{1}}在拟合期间需要y轴的对数; - )
axis
注意强>
如果您想使用基于10的对数,则必须使用fit [4:8] f(x) 'CT2A_OH_R_log.dat' u 1:(log($2)) via a,b
或log($2)/log(10)
。
答案 1 :(得分:0)