0
我在實施scipy.optimize.minimize()
時遇到了一些麻煩。 它返回我與錯誤ValueError: Objective function must return a scalar
。 這裏是我的代碼:麻煩實施scipy優化最小化
def cost(A,b,x):
return np.sum(np.square(np.dot(A,x)-b))
def sse(x):
return 1-sum(x)
x0 = np.ones(4)/4
bounds = tuple((0,1) for x in x0)
cons = ({'type': 'eq', 'fun': sse})
All = minimize(cost, x0, args=(A, curve), method='SLSQP', bounds=bounds, constraints=cons).x
A
具有形狀(400,4)
,curve
具有形狀(400,)
和x
,x0
具有形狀(4,)
。
我似乎錯過了一些非常微不足道的東西。任何幫助,將不勝感激。提前致謝!
謝謝!得到它了。另外,'curve'被傳遞給函數中的'b'變量。 –
是的,但我不喜歡那些不同的名字。很難遵循imho。 – sascha
啊!好的!將考慮到這一點。 –