Gnuplot配件工作不正常(与KaleidaGraph不同)
我目前正试图使用gnuplot来使用下面的命令来拟合一个简单的数据集,但是尽管包含了良好的初始猜测,我还是没有运气 命令:Gnuplot配件工作不正常(与KaleidaGraph不同),gnuplot,data-fitting,Gnuplot,Data Fitting,我目前正试图使用gnuplot来使用下面的命令来拟合一个简单的数据集,但是尽管包含了良好的初始猜测,我还是没有运气 命令: gnuplot> f(x) = 1/(2*pi) * 1/m1 * 1/(b + x**2)**(-3/2) gnuplot> m1 = 150 gnuplot> m2 = 17 gnuplot> fit f(x) "data.txt" using 1:2 via m1, m2 数据(x:y): 然而,gnuplot返回m1=2.45e14和m2=
gnuplot> f(x) = 1/(2*pi) * 1/m1 * 1/(b + x**2)**(-3/2)
gnuplot> m1 = 150
gnuplot> m2 = 17
gnuplot> fit f(x) "data.txt" using 1:2 via m1, m2
数据(x:y):
然而,gnuplot返回m1=2.45e14和m2=3.64e9,这两个值与(大致正确的)初始值相比是不正确和巨大的
我曾尝试在KaleidaGraph(演示版)中使用完全相同的数据集和拟合函数,返回正确的结果(如下图所示),如果gnuplot不起作用,可以使用该函数,然而,我更愿意使用gnuplot,因为我将能够自动处理许多数据文件,因为我不相信KaleidaGraphs有命令行终端
有人知道为什么gnuplot会返回如此疯狂的值吗
(如果有帮助,我使用的是Windows 8.1 x64)
非常感谢大家的帮助,
James两件事:Gnuplot进行整数除法,因此必须使用
3/2.0
来获得正确的指数
其次,gnuplot中的函数与KaleidaGraph中使用的函数不同:指数必须是正的(3/2.0)
,并且必须在有b
的地方使用m2
:
f(x) = 1/(2*pi) * 1/m1 * 1/(m2 + x**2)**(3/2.0)
m1 = 150
m2 = 17
fit f(x) "data.txt" using 1:2 via m1,m2
这就产生了:
...
Final set of parameters Asymptotic Standard Error
======================= ==========================
m1 = 127.11 +/- 11.31 (8.898%)
m2 = 18.1347 +/- 1.54 (8.492%)
啊,是的,B是文章中的一个拼写错误,但其余的都是很棒的帮助,非常感谢!!
...
Final set of parameters Asymptotic Standard Error
======================= ==========================
m1 = 127.11 +/- 11.31 (8.898%)
m2 = 18.1347 +/- 1.54 (8.492%)