将其他参数传递给内置函数

时间:2014-10-02 09:38:33

标签: argument-passing julia

我对Julia很新,并且有一个看似简单的问题。假设我有一个函数,我将其命名为test(x::Vector, arg1, arg2),其中x是变量的向量,函数有两个参数arg1& arg2

我想针对向量test优化(最小化)函数x。我无法弄清楚如何使用接受两个参数值的Optim包中的optimize函数。在R中,可以做如下:

optim(initial guest, test, arg1=value1,arg2=value2)

在Julia中是否有类似的方式声明参数值?

1 个答案:

答案 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.])