Scipy最小化を使用して、Std_Diff目的関数が最小であるd値(整数)を取得しようとしています。Scipy最小化関数
マイコード:RES =(Std_Diff、(1)、メソッド= 'SLSQP')を最小化する、私は別のエラーを取得:
を私は 境界を使用しない場合はdef Std_Diff(d):
return std(diff(df['BN'].values,d));
from scipy.optimize import minimize
b=(3,)
res = minimize(Std_Diff,(1,), method='SLSQP', bounds = b)
The **df['BN'].values** are
Out[72]:
array([ 2, 2, 2, 2, 3, 2, 7, 5, 7, 11, 8, 2, 11, 7, 15, 8, 7,
12, 21, 19, 32, 35, 40, 35, 21, 19, 25, 20, 40, 80, 99], dtype=int64)
Error is"IndexError: too many indices for array "
> in _minimize_slsqp(func, x0, args, jac, bounds, constraints, maxiter,
> ftol, iprint, disp, eps, callback, **unknown_options)
> 368 fx = float(np.asarray(func(x)))
> 369 except:
> --> 370 raise ValueError("Objective function must return a scalar")
> 371 # Compute the constraints
> 372 if cons['eq']: ValueError: Objective function must return a scalar.
ありがとうございます。
ありがとうどのように変化したかの明確なアイデアを持っている機能を変更しました。出来た。 –