Gnuplot:对拟合参数施加边界

Gnuplot:对拟合参数施加边界,gnuplot,curve-fitting,Gnuplot,Curve Fitting,有没有一种方法可以限制拟合参数可以通过gnuplot获得的值 f(x) = A/(x**2) + B/(x**4) A = 1 B = 0.01 fit f(x) 'data.dat' u 1:2 via A,B 我知道B0?因为gnuplot支持非线性拟合,所以您可以在函数中使用B**2(或sqrt(B**2))来约束变量为正。您可以将函数更改为以下形式: minB = 0.001 f(x) = A*x**-2 + (B<minB:minB:B)*x**-4 f(x) = A*x**

有没有一种方法可以限制拟合参数可以通过gnuplot获得的值

f(x) = A/(x**2) + B/(x**4)
A = 1
B = 0.01
fit f(x) 'data.dat' u 1:2 via A,B

我知道
B<0
没有任何意义。有没有办法将
B>0

因为gnuplot支持非线性拟合,所以您可以在函数中使用
B**2
(或
sqrt(B**2)
)来约束变量为正。

您可以将函数更改为以下形式:

minB = 0.001
f(x) = A*x**-2 + (B<minB:minB:B)*x**-4
f(x) = A*x**-2 + 10**B*x**-4
这可能会使您的反应更加顺畅,更接近数据的实际物理模型