根据SciPy文档,可以最小化具有多个变量的函数,但它并未说明如何优化这样的函数。
from scipy.optimize import minimize
from math import *
def f(c):
return sqrt((sin(pi/2) + sin(0) + sin(c) - 2)**2 + (cos(pi/2) + cos(0) + cos(c) - 1)**2)
print(minimize(f, 3.14/2 + 3.14/7))
以上的代码试图最小化函数f
,但是对于我的任务,我需要针对三个变量进行最小化。
只需引入第二个参数并相应地调整minimize
即可,但会导致错误:
TypeError: f() takes exactly 2 arguments (1 given)
当使用多个变量进行最小化时,minimize
函数是如何工作的?
c
,并没有给出其他两个决策变量的指示,这意味着这不是你想要解决的多元函数。相反,你想要优化三个决策变量,为一个未显示的函数进行优化,每个变量都是标量,即a
、b
和c
。你是否有决策变量为 2 个向量的示例呢?例如,x
和y
是两个决策向量/数组,而不是标量。 - develarist