【发布时间】:2021-02-17 22:44:03
【问题描述】:
我想知道是否可以为curve_fit() 中的参数设置边界,以便边界依赖于另一个参数。例如,假设我想将直线的斜率设置为大于截距。
def linear(x, m, b):
return lambda x: (m*x) + b
def plot_linear(x, y):
B = ([b, -np.inf], [np.inf, np.inf])
p, v = curve_fit(linear, x, y, bounds = B)
xs = np.linspace(min(x), max(x), 1000)
plt.plot(x,y,'.')
plt.plot(xs, linear(xs, *p), '-')
我知道这不起作用,因为参数 b 在边界中调用之前没有定义,但我不确定是否有办法使它起作用?
【问题讨论】:
标签: python scipy curve-fitting bounds