Matlab rowfun如何知道在表中引用变量

Matlab rowfun如何知道在表中引用变量,matlab,Matlab,从中,我们可以看到以下示例: g = gallery('integerdata',3,[15,1],1); x = gallery('uniformdata',[15,1],9); y = gallery('uniformdata',[15,1],2); A = table(g,x,y) func = @(x, y) (x - y); B = rowfun(func,A,... 'GroupingVariable','g',... 'OutputVariableName',

从中,我们可以看到以下示例:

g = gallery('integerdata',3,[15,1],1);
x = gallery('uniformdata',[15,1],9);
y = gallery('uniformdata',[15,1],2);

A = table(g,x,y)

func = @(x, y) (x - y);

B = rowfun(func,A,...
    'GroupingVariable','g',...
    'OutputVariableName','MeanDiff')
当函数
func
应用于
rowfun
中的
A
时,它如何知道
A
中有称为
x
y
的变量

编辑:我觉得我的最后一句话一定不是真的,因为如果你做了
A=table(g,y,x)
,你不会得到相同的结果


我仍然很困惑
rowfun
如何使用一个函数,该函数实际上不使用在调用环境中定义的任何变量。

除非您使用Name/Value参数
InputVariables
指定行(及其顺序),否则Matlab只会将列1作为第一个输入,列2作为第二个输入,等等,忽略最终的分组列

因此,为了提高代码的可读性和可维护性,我认为总是显式地指定
InputVariables
是一种很好的做法