概要
curve_fitの引数にbounds=([第一パラメータの最小値, 第2パラメータの最小値, ...], [第一パラメータの最大値, 第2パラメータの最大値, ...])を書くことで、フィッティングパラメータの境界条件を設定することができる。
コード
from scipy.optimize import curve_fit
def funcA(x, a, b):
y = a*x+b
return y
xData = [1, 2, 4, 7, 13]
yData = [2, 6, 13, 45, 32]
opt, cov = curve_fit(funcA, xData, yData, bounds=([-2,-10], [2,10]))
print(opt)
結果
[2. 8.79999986]