我需要做一个线性近似。但是,它必须是对数刻度。

这是我的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/

10-11 03:42