在 Python 中使用更多变量进行优化
Optimizing with more variables in Python
我在 Python 中有两个简单的数组,我想通过更改第一个数组中的值来最小化这些数组相对于给定目标值的和积。
这是一个例子:
import numpy as np
from scipy.optimize import fmin
def func2(params):
a, b, c = params
arr1 = [a, b, c]
arr2 = [150, 200, 230]
res = sum(np.multiply(arr1, arr2))
tar = 2
error = res - tar
return error
initial_guess = [0.0025, 0.0030, 0.0035]
finarr = fmin(func2, initial_guess)
print(finarr)
上面的代码运行但我收到错误的结果,因为第一个数组中的数字应该是 ~ 0.0027、0.0033 和 0.0040。
如果有人能帮助我,我将不胜感激。
谢谢。
您需要return func2 中误差的绝对值。
error = abs(res - tar)
我在 Python 中有两个简单的数组,我想通过更改第一个数组中的值来最小化这些数组相对于给定目标值的和积。 这是一个例子:
import numpy as np
from scipy.optimize import fmin
def func2(params):
a, b, c = params
arr1 = [a, b, c]
arr2 = [150, 200, 230]
res = sum(np.multiply(arr1, arr2))
tar = 2
error = res - tar
return error
initial_guess = [0.0025, 0.0030, 0.0035]
finarr = fmin(func2, initial_guess)
print(finarr)
上面的代码运行但我收到错误的结果,因为第一个数组中的数字应该是 ~ 0.0027、0.0033 和 0.0040。 如果有人能帮助我,我将不胜感激。 谢谢。
您需要return func2 中误差的绝对值。
error = abs(res - tar)