从残差函数中找到最优值

时间:2021-03-07 11:06:15

标签: python function minimize minimization scipy-optimize-minimize

我有两个功能,

f(x), f(x,a)

我可以为一组 x-f(x) 值绘制 x-f(x,a)a

现在我想知道对于 a 的哪个值,残差变得最小,f(x)~f(x,a)a 将是最小的。 f(x)f(x,a) 都为 x 数组的输入返回一个数组。

我尝试了 scipy minimize 函数,但我收到了很多错误(尽管我认为它们是不同的错误 (ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all())。

但是我想知道,如何在python中获得b的最小值?有没有为此量身定制的功能?

以下是我尝试过的示例:

from scipy.optimize import minimize
import numpy as np

def f1(x):
    a = x + 2
    return (a)
def f2(x, b):
    a = x**3 + b
    return (a)
def res2(x, b):
    return (f1(x) - f2(x, b))

x = np.linspace(2, 5, 4)
cc = 20
print(res2(x, cc))  
minimize(res2, x, method='BFGS', jac=rosen_der)

但这不起作用。

0 个答案:

没有答案