我正在寻找最小化具有 2 个变量和 1 个常数的非线性复函数。我发现了一个关于如何最小化复杂函数的问题,我认为它有效(?)我还没有尝试过,因为我想首先解决多变量一个参数问题。
例如一个超级简单的实函数:
def function(param):
x, y, a = param
return(x**2 + y**2 + a*x)
我可以对 3 个参数进行最小化,但不能对 2 个变量 1 个常数进行最小化。如果我做
minimize(function, [2,4,5])
它工作正常。
我发现这个问题有人问过与我类似的问题,但答案对我不起作用,答案说要做:
def function(x, y, a):
return(x**2 + y**2 + a*x)
minimize(function, 2, 4 args=5)
但这给了我错误,即使只是以这种方式最小化 3 也会minimize(function, 2, 4, 5)
给我很多错误行,并且以这种方式minimize(function, (2,4,5))
给出了>missing 2 required positional arguments: 'y' and 'a'.
.
接下来对于复杂的事情,在答案中我看到它说将函数分成2个实际函数,用最小化解决它们,然后将两个结果融合为一个。但我不确定我是否理解,所以如果有人可以帮助我。该函数是一个复函数(实部和虚部),但输入(2 个变量 1 个常数)是实数。
也许有一个包可以做到这一点?