我需要做一个线性近似。但是,它必须是对数刻度。
这是我的gnuplot脚本:
f(x)= a*x+b
fit f(x) "d0.dat" via a,b
set logscale x
set logscale y
plot "d0.dat" with points lt rgb "#ff0000" title "Points", \
f(x) with lines lt rgb "#ff00ff" title "Approximation"
显然,这种近似是错误的。谁能帮我修复它。我在Google中找不到任何东西。
最佳答案
Gnuplot正确地将数据拟合为您提供的功能-一条直线。
问题在于,对y轴使用对数刻度不会缩放数据,而只是如何绘制数据。
尝试使其符合幂律:
f(x)= a*x**b
fit f(x) "d0.dat" via a,b
set logscale x
set logscale y
plot "d0.dat" with points lt rgb "#ff0000" title "Points", \
f(x) with lines lt rgb "#ff00ff" title "Approximation"
关于graphics - Gnuplot:在对数刻度中使用适合,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22875026/