Python:numpy和scipy最小化:使用序列最小化设置数组元素
我试图最小化函数,但得到一个 ValueError:设置带有序列的数组元素。 在以下代码中:Python:numpy和scipy最小化:使用序列最小化设置数组元素,python,arrays,numpy,scipy,minimize,Python,Arrays,Numpy,Scipy,Minimize,我试图最小化函数,但得到一个 ValueError:设置带有序列的数组元素。 在以下代码中: import numpy as np from scipy import optimize as opt def f(x): return np.sin(x / 5.) * np.exp(x / 10.) + 5 * np.exp( -x / 2.) aprox_0 = np.array([range(1, 10), range(11, 20), range(21, 30)]) min_0
import numpy as np
from scipy import optimize as opt
def f(x):
return np.sin(x / 5.) * np.exp(x / 10.) + 5 * np.exp( -x / 2.)
aprox_0 = np.array([range(1, 10), range(11, 20), range(21, 30)])
min_0 = opt.minimize(f, aprox_0[0])
有人能帮忙吗?在缩小过程中,检查函数
f()
中x的尺寸及其返回值,当您发现问题时,函数可能会有所帮助。您能解释一下,如果您输入数组作为初始猜测,会发生什么情况吗?如果用单个值替换近似值0[0],则该代码有效。也许你只是误解了aprox_0的形状?这是一个2D数组。这个问题有一个更好的答案:谢谢大家,我发现了问题:我考虑过通过数组寻找局部最小值,并将它们作为参数而不是边界