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
是一种很好的做法