顾名思义,给定以下上下文,@(t)在Matlab中到底意味着什么?computeNumericalGradient是一个函数,cofiCostFunc也是一个接受一堆参数的函数。问题是@(t)对cofiCostFunc函数的作用是什么?
computeNumericalGradient( ...
@(t) cofiCostFunc(t, Y, R, num_users, num_movies, ...
num_features, lambda), [X(:); Theta(:)]);
@(t)
是所谓的匿名函数。@(t)
因此将返回一个带有一个变量的函数的句柄t
。基本上,它是一个带有一个参数的函数t
。其余参数已在您的工作区中预先定义。
你在这里做的是,第一个参数computeNumericalGradient
需要的功能,其中t
是由您定义的变量。因此,您computeNumericalGradient
采用了两个参数:
X
,第二列为Theta
。作为旁注,如果要执行此操作:
func = @(t) cofiCostFunc(t, Y, R, num_users, num_movies, num_features, lambda);
因此,您可以通过执行来调用此函数func(t)
,其中,t
您想要的与手边的函数相关的任何变量都是。该代码将因此简化为:
computeNumericalGradient(func, [X(:); Theta(:)]);
我不熟悉您在这里所做的事情,因此您必须弄清楚上下文。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句