0
有沒有辦法來限制擬合參數可以用gnuplot獲取的值?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獲取的值?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
但我不知道該NLLS alogrithm如何反應了這一點。謹防。
或者,你可能想是這樣的:
f(x) = A*x**-2 + 10**B*x**-4
也許這會作何反應更加順暢和更接近你的數據的實際物理模型。