我是 Python 新手,我试图弄清楚一切是如何工作的。我对 scipy.optimize 包的最小化功能有一点问题。我尝试使用一些起始值最小化给定函数,但 python 给了我非常高的参数值。这是我的简单代码:
import numpy as np
from scipy.optimize import minimize
global array
y_wert = np.array([1,2,3,4,5,6,7,8])
global x_wert
x_wert = np.array([1,2,3,4,5,6,7,8])
def Test(x):
Summe = 0
for i in range(0,len(y_wert)):
Summe = Summe + (y_wert[i] - (x[0]*x_wert[i]+x[1]))
return(Summe)
x_0 = [1,0]
xopt = minimize(Test,x_0, method='nelder-mead',options={'xatol': 1e-8, 'disp': True})
print(xopt)
如果我运行这个脚本,最好的给定参数是:
[1.02325529e+44, 9.52347084e+40]
这真的不能解决这个问题。我也尝试了一些稍微不同的起始值,但这并不能解决我的问题。谁能告诉我我的错误在哪里?非常感谢你的帮助!