主要内容

varfun.

将功能应用于表或时间表变量

描述

例子

B.= varfun(fun一种适用该功能fun单独到表格或时间表的每个变量一种并返回表格或时间表中的结果B.

功能fun每次调用时,必须占用一个输入参数并返回具有相同行数的阵列。这一世输出参数中的变量,双},等于Func(a {:,我})

如果一种是一个时间表和fun然后聚合到一组中的数据varfun.从每组行中分配第一行时间一种作为相应的行时间B.。返回B.作为没有行时间的表格,指定'输出格式'作为'桌子'

例子

B.= varfun(fun一种名称,价值适用该功能fun单独到表格或时间表的每个变量一种具有一个或多个指定的其他选项名称,价值对论点。

例如,您可以指定将哪些变量传递给函数。

例子

全部收缩

定义并将元素-Wise函数应用于表格的变量以使所有元素进行正方形。

定义包含数字变量的表。

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 = varfun(func,a)
B =5×2表FUN_VAR1 FUN_VAR2 ________ ________ 0.5041 0.0529 4.2025 0.0144 0.1225 0.0324 0.0529 0.0529 2.4649 0.0529 2.4649 0.121212 0.4649 0.1216012

变量B.具有基于函数的名称和变量名称一种

计算5×2表中每个变量的平均值。

定义包含数字变量的表。

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 = @mean;

fun使用现有的MATLAB®函数来定义操作。

将函数应用于表的所有变量一种

b = varfun(func,a)
B =1×2表mean_var1 mean_var2 _________ _________ -0.188 0.162

B.是一个包含来自每个变量的平均值的表。要返回数字矢量而不是表,可以使用b = varfun(func,a,'suppannformat','saplend')

计算表中变量的群体方向手段,一种,并将它们作为行返回,B.

创建一个变量定义组的表。

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

定义匿名功能以找到输入的均值。

func = @mean;

fun使用现有的MATLAB®函数来定义操作。

将函数应用于由此定义的每组数据组var1

b = varfun(func,a,'组分组variables''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

B.包含一个调用的变量GroupCount.表示表格的条目数一种在那个群体中。

创建包含示例数据的时间表。时间表的行时间也定义了组。

dt = DateTime(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''是'})
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.作为时间表,因为一种是一个时间表。将行时间指定为分组变量时,您无法将任何变量指定为另一个分组变量。

b = varfun(@均值,a,'组分组variables''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-JON-2016 2 0.83 04-JAN-2016 2 0.83 04-JAN-2016

输入参数

全部收缩

函数,指定为函数句柄。您可以定义文件中的函数或作为匿名功能。如果fun对应于多个函数文件(即,如果fun代表一组超载的功能),Matlab®基于输入参数的类确定要调用哪个函数。

使用'OutputFormat','cell'名称 - 值对参数,如果函数fun拍摄一个输入参数,每次调用时都有不同数量的行返回阵列。除此以外,fun必须返回具有相同行数的阵列。

例子:func = @(x)x。^ 2;计算输入的每个元素的正方形。

输入表,指定为表或时间表。

名称值对参数

指定可选的逗号分离对名称,价值论点。名称是参数名称和价值是相应的价值。名称必须出现在引号内。您可以以任何顺序指定多个名称和值对参数name1,value1,...,namen,valuen

例子:'InputVariables',2仅使用第二个变量一种作为一个输入fun

选择变量的指定符一种传递给fun,指定为逗号分隔的配对组成'inputvariables'和一个正整数,正整数的矢量,字符向量,字符向量,符号阵列,逻辑向量或函数手柄的字符向量,单元格阵列。

如果您指定'inputvariables'作为函数句柄,那么它必须返回逻辑标量varfun.只通过变量一种函数返回的地方1真的)。

一个或多个变量一种定义一组行,指定为逗号分隔的对组成'组分组variables'和一个正整数,正整数的矢量,字符矢量,字符向量,字符串阵列或逻辑向量的字符矢量。

的价值'组分组variables'指定哪些表变量是分组变量,而不是它们的数据类型。分组变量可以是数字,或具有数据类型分类日历约会时间期间逻辑, 或者细绳

一种具有相同的分组变量值属于同一组。varfun.适用fun到每个变量中的每组行一种,而不是每个整个变量。

如果任何分组变量包含s或缺少值(例如S,未定义的分类值或缺少字符串),然后相应的行不属于任何组,并且从输出中排除。

行标签可以是分组变量。您可以单独组在行标签上,在一个或多个变量上一种,或在行标签和变量上一起。

  • 如果一种是一个表,那么标签是行名称。

  • 如果一种是时间表,那么标签是行时间。

输出,B.,指定时每个组有一行'OutputFormat','制服'或者'OutputFormat','cell'。当您指定时'OutputFormat','表'或者'OutputFormat','Timetable',输出的大小fun确定多少行B.对应每个组。

格式B.,指定为逗号分隔的配对组成'输出格式'并且是价值'制服''桌子''时间表', 或者'细胞'

'桌子'

varfun.返回一个表,其中每个变量为一个变量一种(或指定的每个变量'inputvariables')。分组计算,B.,还包含分组变量。

'桌子'允许您使用返回不同变量的不同大小或数据类型的值的函数一种。但是,对于未完成的计算,fun必须每次调用时返回具有相同行数的阵列。分组计算,fun必须每次调用给定组时使用相同数量的行返回值。

如果一种是一个表,那么这是默认的输出格式。

'时间表'

varfun.返回每个变量的一个变量的时间表一种(或指定的每个变量'inputvariables')。分组计算,B.还包含分组变量。

varfun.创造行时间B.从行时间一种。如果排序时间分配给B.在使用的计算的上下文中没有意义fun,然后指定输出格式为'OutputFormat','表'

如果一种是时间表,那么这是默认的输出格式。

'制服'

varfun.将值连接到向量中。fun每次调用时都必须使用相同的数据类型返回标量。

'细胞'

varfun.回报B.作为单元阵列。'细胞'允许您使用返回不同大小或数据类型值的函数。

打电话的功能fun失败,指定为逗号分隔的配对组成'ErrorHandler'和一个功能手柄。定义此功能,以便它重新缩回错误或返回功能的有效输出fun

MATLAB调用具有两个输入参数的指定错误处理函数:

  • 具有这些领域的结构:

    标识符

    错误标识符。

    信息

    错误消息文本。

    指数

    发生错误的变量索引。

    名称

    发生错误的变量的名称。

  • 功能的输入参数集fun在错误时。

例如,

功能[a,b] = errorfunc(s,varargin)警告(s.identifier,s.message)a = nan;B =楠;

输出参数

全部收缩

输出表,作为表返回或时间表。B.可以存储元数据,如描述,可变单位,变量名和行名称。有关更多信息,请参阅属性部分桌子或者时间表

扩展能力

介绍在R2013B.