文档帮助中心
应用功能表或时间表变量
B = varfun(FUNC,A)
B = varfun(FUNC,A,名称,值)
例
乙= varfun(FUNC,一种)应用功能FUNC分别对表或时间表的每个变量一种并返回表或时间表的结果乙。
乙= varfun(FUNC,一种)
乙
FUNC
一种
功能FUNC必须采取一个输入参数,并与每个被调用时相同的行数的返回数组。该一世在输出参数变量第,双},等于FUNC(A {:,I})。
一世
双}
FUNC(A {:,I})
如果一种是一个时间表,并FUNC聚集数据超过行组,然后varfun从在每一组行分配第一行时间一种在相应的行时间乙。回来乙因为没有排次表,指定'输出格式'如'表'。
varfun
'输出格式'
'表'
乙= varfun(FUNC,一种,名称,值)应用功能FUNC分别对表或时间表的每个变量一种与由一个或多个指定的附加选项名称,值对参数。
乙= varfun(FUNC,一种,名称,值)
名称,值
例如,您可以指定传递给函数的变量。
全部收缩
定义并应用逐元素函数表的变量,以方的所有元素。
定义包含数值变量的表。
A =表([0.71; -2.05; -0.35; -0.82; 1.57],[0.23; 0.12; -0.18; 0.23; 0.41])
A =5×2表VAR1 VAR2 _____ 0.71 0.23 -2.05 0.12 -0.35 -0.18 -0.82 0.23 1.57 0.41
定义匿名函数来找到一个输入的平方。
FUNC = @(X)X ^ 2。
应用功能表的所有变量一种。
B =5×2表Fun_Var1 Fun_Var2 ________ 0.5041 0.0529 4.2025 0.0144 0.1225 0.0324 0.6724 0.0529 2.4649 0.1681
的变量乙有基于功能和名称从变量名一种。
计算平均每个变量的在5×2表。
定义匿名函数来找到一个输入的平均值。
FUNC = @mean;
FUNC使用现有MATLAB®函数来定义的操作。
B =1×2表mean_Var1 mean_Var2 _________ _________ -0.188 0.162
乙是含有选自每个变量的平均值的表。要返回一个数字矢量,而不是一个表,你可以使用B = varfun(FUNC,A, 'OUTPUTFORMAT', '均匀')。
B = varfun(FUNC,A, 'OUTPUTFORMAT', '均匀')
计算的变量的组间的装置在一个表中,一种,并在表中返回他们为行,乙。
创建其中一个变量定义组的表。
A =表({'TEST2';'TEST1';'TEST2';'TEST3';'TEST1'},...[0.71; -2.05; -0.35; -0.82; 1.57],[0.23; 0.12; -0.18; 0.23; 0.41])
A =5×3表VAR1 VAR2 VAR3 _________ _____ { 'TEST2'} 0.71 0.23 { 'TEST1'} -2.05 0.12 { 'TEST2'} -0.35 -0.18 { 'TEST3'} -0.82 0.23 { 'TEST1'} 1.57 0.41
应用该函数到每个组由下式定义的数据VAR1。
VAR1
B = varfun(FUNC,A,'GroupingVariables','VAR1')
B =3×4表VAR1 GroupCount mean_Var2 mean_Var3 _________ __________ _________ _________ { 'TEST1'} 2 -0.24 0.265 { 'TEST2'} 2 0.18 0.025 { 'TEST3'} 1 -0.82 0.23
乙含有一种叫做变量GroupCount指示从表条目的数量一种在该组。
GroupCount
创建包含样本数据的时间表。时间表的行时间也定义组。
DT =日期时间(2016,1,1)+天([0 1 1 2 3 3])';A =时间表(DT,[0.71; -2.05; -0.35; -0.82; 1.57; 0.09],...[0.23; 0.12; -0.18; 0.23; 0.41; 0.02],...'VariableNames'{'X''Y'})
A =6×2时间表dt x y ___________ _____ _____ 01-Jan-2016 0.71 0.23 02-Jan-2016 -2.05 0.12 02-Jan-2016 -0.35 -0.18 03-Jan-2016 -0.82 0.23 04-Jan-2016 1.57 0.41 04-Jan-2016 0.09 0.02
计算在时间表的变量组明智的手段。varfun回报乙作为一个时间表,因为一种是的时间表。当指定行次为分组变量,则不能指定任何变量作为另一个分组变量。
B = varfun(@均值,A,'GroupingVariables','DT')
B =4×3时间表DT GroupCount mean_x mean_y ___________ __________ ______ ______ 01-JAN-2016 1 0.71 0.23 02-JAN-2016 2 -1.2 -0.03 03-JAN-2016 1 -0.82 0.23 04-JAN-2016 2 0.83 0.215
功能,指定为函数句柄。您可以在文件或匿名函数定义的功能。如果FUNC对应于一个以上的功能的文件(即,如果FUNC代表一组重载函数),MATLAB®该功能确定调用基于类的输入参数。
使用'OUTPUTFORMAT', '单元'名称 - 值对的参数,如果函数FUNC采取一个输入参数,并返回阵列,每次被调用时的不同数目的行。除此以外,FUNC必须以相同的行数返回数组。
'OUTPUTFORMAT', '单元'
例:FUNC = @(X)X ^ 2。计算的输入中的每个元素的平方。
输入表,指定为表或时间表。
指定可选的用逗号分隔的对名称,值参数。名称是参数的名称和值是对应的值。名称必须出现引号内。您可以按照任何顺序指定多个名称和值对参数名1,值1,...,NameN,值N。
名称
值
名1,值1,...,NameN,值N
'InputVariables',2
'InputVariables'
说明符的选择变量一种传递给FUNC,指定为逗号分隔的一对组成的'InputVariables'和一个正整数,正整数,字符向量,特征向量的单元阵列中,字符串数组,逻辑载体或功能句柄的向量。
如果您指定'InputVariables'作为一个功能手柄,那么它必须返回一个逻辑标量,和varfun通过只在变量一种当函数返回1(真正)。
1
真正
'GroupingVariables'
在一个或多个变量一种定义行组,指定为逗号分隔的一对组成的'GroupingVariables'和一个正整数,正整数,字符向量,特征向量的单元阵列中,字符串数组,或逻辑矢量的矢量。
的价值'GroupingVariables'指定哪个表变量分组变量,而不是他们的数据类型。分组变量可以是数字,或具有数据类型明确的,calendarDuration,约会时间,持续时间,合乎逻辑, 要么串。
明确的
calendarDuration
约会时间
持续时间
合乎逻辑
串
在行一种具有相同分组的变量值属于同一组。varfun适用FUNC内的每一个变量的每一组行一种的,而不是对每个整个可变。
如果任何分组变量包含为NaNS或丢失的值(如的NaTS,未定义分类值,或丢失的字符串),则对应的行不属于任何组,并从输出被排除在外。
为NaN
的NaT
行标签可以分组变量。您可以在排组标签独自一人,在一个或多个变量一种,或行标签和变量在一起。
如果一种是一个表,然后将标签行名称。
如果一种是一个时间表,那么标签是个行时间。
输出,乙,对于每个组一行在您指定'OUTPUTFORMAT', '均匀'要么'OUTPUTFORMAT', '单元'。当您指定'OUTPUTFORMAT', '表'要么'OUTPUTFORMAT', '时间表'时,输出从尺寸FUNC确定有多少行乙对应于每个组。
'OUTPUTFORMAT', '均匀'
'OUTPUTFORMAT', '表'
'OUTPUTFORMAT', '时间表'
'时间表'
'制服'
'细胞'
格式乙,指定为逗号分隔的一对组成的'输出格式'并且或者价值'制服','表','时间表', 要么'细胞'。
varfun返回与一个可变的表中的每个变量一种(或者每个变量指定与'InputVariables')。对于分组计算,乙,还包含分组变量。
'表'允许您使用功能在不同的变量不同尺寸或数据类型的返回值一种。然而,对于未分组计算,FUNC必须在每次调用时相同的行数返回数组。对于分组计算,FUNC必须在每次被调用给定组的时间相同的行数的返回值。
如果一种是一个表,那么这是默认的输出格式。
varfun返回与一个变量的时间表在每个可变一种(或者每个变量指定与'InputVariables')。对于分组计算,乙还包含分组变量。
varfun创建的行时间乙从排次一种。如果分配给该行时间乙执行使用不计算的上下文中有意义FUNC,然后指定输出格式为'OUTPUTFORMAT', '表'。
如果一种是一个时间表,那么这是默认的输出格式。
varfun串接的值到载体中。FUNC必须在每次调用时会返回一个标有相同的数据类型。
varfun回报乙作为一个单元阵列。'细胞'让您使用的功能,不同的尺寸或数据类型的返回值。
'的ErrorHandler'
要调用的函数,如果FUNC出现故障时,指定为逗号分隔的一对组成的'的ErrorHandler'和功能手柄。定义此功能,以便它重新抛出错误或返回功能有效输出FUNC。
MATLAB调用带有两个输入参数指定的错误处理功能:
这些字段的结构:
识别码
错误标识。
信息
错误消息的文本。
指数
对于发生错误的变量指标。
对于发生错误的变量名。
该组输入参数的功能FUNC在错误的时间。
例如,
功能[A,B] = errorFunc(S,varargin)警告(S.identifier,S.message)A = NaN的;B = NaN的;
输出表,返回表或时间表。乙可存储元数据,例如描述,可变单元,变量名,和行的名称。欲了解更多信息,请参阅的属性部分表要么时间表。
表
时间表
该功能支持与限制高大阵列:金宝app
该FUNC输入必须返回一个高大的阵列。
金宝app支持的名称 - 值对如下:
'InputVariables'- 不能指定为函数句柄。
'输出格式'- 值可以是'制服','表','时间表', 要么'细胞'只要。
当输入阵列是一个高大的时间表和'输出格式'是'时间表'时,指定的函数必须在第一维为输入具有相同大小的返回的数组。指定'输出格式'如'表'当输入功能是减少功能如意思。
意思
欲了解更多信息,请参阅高大的数组。
arrayfun|cellfun|findgroups|groupsummary|rowfun|splitapply|structfun
arrayfun
cellfun
findgroups
groupsummary
rowfun
splitapply
structfun
这个例子的修改版本的系统上存在。你要打开这个版本呢?
您单击对应于该MATLAB命令的链接:
在MATLAB命令窗口中输入它运行的命令。Web浏览器不支持MATLAB的命令。金宝app
选择一个网站,以获得翻译的内容,其中可看到当地的活动和优惠。根据您的位置,我们建议您选择:。
您还可以选择从下面的列表中的网站:
选择最佳的网站性能的中国网站(在中国或英文)。其他MathWorks的国家网站都没有从您的位置访问进行了优化。
请联系您当地的办事处