【发布时间】:2014-07-27 20:50:41
【问题描述】:
我使用 R,但我正在将代码从 matlab 转换为 R。我到达了一个我无法理解的部分。
我的研究表明,@ 允许您使用具有固定变量的另一个名称调用函数,例如
g = @(b) f(a1, b, c1)
允许我通过 g(b) 仅指定 b 来调用 f
在我正在使用的代码中有一个函数
function dN = WW(N,h,A,P,aA,aP,bA,bP)
在代码中的某个位置,WW 被调用,但被调用
f = @(t,N) WW(N,h,A,P,aA,aP,bA,bP)
为什么我如此困惑是t,N在代码中的其他地方都没有提到......但是h,A,P,aA,aP,bA,bP都是事先定义的。
有人认识这种结构吗?可能发生了什么?
【问题讨论】:
-
这些是“匿名函数”。
@(t,N)部分中的变量是函数参数,仅在匿名函数主体的范围内。见mathworks.com/help/matlab/matlab_prog/anonymous-functions.html