我对Julia很新,并且有一个看似简单的问题。假设我有一个函数,我将其命名为test(x::Vector, arg1, arg2)
,其中x
是变量的向量,函数有两个参数arg1
& arg2
。
我想针对向量test
优化(最小化)函数x
。我无法弄清楚如何使用接受两个参数值的Optim
包中的optimize函数。在R中,可以做如下:
optim(initial guest, test, arg1=value1,arg2=value2)
在Julia中是否有类似的方式声明参数值?
答案 0 :(得分:3)
您可以定义另一个修复这些参数值的函数。
# Function to minimize
f(x::Vector, a, b) = (x[1] - a)^2 + (x[2] - b)^2
using Optim
g(x::Vector) = f(x, 3, 4)
optimize(g, [0.,0.])
您也可以使用匿名函数(但可能效率较低)。
optimize(x -> f(x,3,4), [0.,0.])