【发布时间】:2017-08-25 18:50:08
【问题描述】:
Octave 中的函数句柄定义如下例所示。
f = @sin;
从现在开始,调用函数f(x)与调用sin(x)具有相同的效果。到现在为止还挺好。我的问题从我的一项编程作业中的以下函数开始。
function sim = gaussianKernel(x1, x2, sigma)
上面的行表示函数gaussianKernel 的标题。这需要三个变量作为输入。但是,下面的调用让我印象深刻,因为它在引用 gaussianKernel 时只传递了两个变量,然后传递了三个变量。
model = svmTrain(X, y, C, @(x1, x2) gaussianKernel(x1, x2, sigma));
不应该只是model = svmTrain(X, y, C, @gaussianKernel(x1, x2, sigma));吗?有什么区别?
【问题讨论】:
标签: matlab octave function-handle