我想使用scipy.optimize.minimize()
函数,但我遇到一个小问题:在the official documentation中,据说函数将参数作为"目标函数",没有进一步的精确
所以我想知道一些事情:让我们假设我想要优化的函数是f(x_1,y_1,x_2,y_2,...,x_n,y_n)
,n不是常数。
1)是否可以在函数中加入其他参数?例如,f(stuff,x1,...)
?
2)由于n不是常数,我宁愿使用一个列表(类似的东西:f([x_1,y_1,x_2,y_2,...,x_n,y_n]
)。 scipy会明白吗?
提前感谢您的回答!
答案 0 :(得分:1)
好的,我已经得到了一些答案:
正如hjpaul所说,我使用数组来解决我的问题,它的确有效!应该注意的是,如果你给他一个n维数组,该函数会在1d数组中自动转换它(什么时候阻止了我)。
语法sp.optimize.minimize(fun,array,other_args_tuple)
可能是最好的,但使用全局变量也可以。
谢谢大家(特别是hpaulj)的回答。我没有准确地阅读文档,它会教我^^