主要内容gydF4y2Ba

rowfungydF4y2Ba

将函数应用到表或时间表行gydF4y2Ba

描述gydF4y2Ba

BgydF4y2Ba= rowfun (gydF4y2Ba函数gydF4y2Ba,gydF4y2Ba一个gydF4y2Ba)gydF4y2Ba应用函数gydF4y2Ba函数gydF4y2Ba到表格或时间表的每一行gydF4y2Ba一个gydF4y2Ba并返回表或时间表中的结果gydF4y2BaBgydF4y2Ba。gydF4y2Ba

函数gydF4y2Ba接受gydF4y2Ba大小(2)gydF4y2Ba输入。gydF4y2Ba

如果gydF4y2Ba一个gydF4y2Ba是一个时间表gydF4y2Ba函数gydF4y2Ba然后在行组上聚合数据gydF4y2BarowfungydF4y2Ba中每组行的第一行时间gydF4y2Ba一个gydF4y2Ba作为相应的行时间gydF4y2BaBgydF4y2Ba。返回gydF4y2BaBgydF4y2Ba指定为没有行次数的表gydF4y2Ba“OutputFormat”gydF4y2Ba作为gydF4y2Ba“表”gydF4y2Ba。gydF4y2Ba

例子gydF4y2Ba

BgydF4y2Ba= rowfun (gydF4y2Ba函数gydF4y2Ba,gydF4y2Ba一个gydF4y2Ba,gydF4y2Ba名称,值gydF4y2Ba)gydF4y2Ba应用函数gydF4y2Ba函数gydF4y2Ba到表的每一行gydF4y2Ba一个gydF4y2Ba带有一个或多个指定的附加选项gydF4y2Ba名称,值gydF4y2Ba对参数。gydF4y2Ba

例如,您可以指定将哪些变量传递给函数gydF4y2Ba函数gydF4y2Ba以及如何呼叫gydF4y2Ba函数gydF4y2Ba。gydF4y2Ba

例子gydF4y2Ba

全部折叠gydF4y2Ba

应用函数gydF4y2Ba函数的gydF4y2Ba5 × 2表中的每一行gydF4y2Ba一个gydF4y2Ba求两个变量之间的最短距离gydF4y2BaxgydF4y2Ba而且gydF4y2BaygydF4y2Ba。gydF4y2Ba

创建一个表,gydF4y2Ba一个gydF4y2Ba,其中两个变量为数值数据。gydF4y2Ba

rng (gydF4y2Ba“默认”gydF4y2Ba) x = randi(10,[5,1]);Y = randi(10,[5,1]);A = table(x,y)gydF4y2Ba
一个=gydF4y2Ba5×2表gydF4y2BaX y __ __ 9 1 10 3 2 6 10 10 7 10gydF4y2Ba

应用函数,gydF4y2Ba函数的gydF4y2Ba,到每一行gydF4y2Ba一个gydF4y2Ba。这个函数gydF4y2Ba函数的gydF4y2Ba接受两个输入并返回一个输出。gydF4y2Ba

B = rowfun(@hypot,A,gydF4y2Ba“OutputVariableNames”gydF4y2Ba,gydF4y2Ba“z”gydF4y2Ba)gydF4y2Ba
B =gydF4y2Ba5×1表gydF4y2BaZ ______ 9.0554 10.44 6.3246 14.142 12.207gydF4y2Ba

BgydF4y2Ba是一张桌子。gydF4y2Ba

附加函数输出,gydF4y2BaBgydF4y2Ba,到输入表,gydF4y2Ba一个gydF4y2Ba。gydF4y2Ba

[B]gydF4y2Ba
ans =gydF4y2Ba5×3表gydF4y2BaX y z ____ ______ 9 1 9.0554 10 3 10.44 2 6 6.3246 10 10 14.142 7 10 12.207gydF4y2Ba

定义和应用几何布朗运动模型的参数范围。gydF4y2Ba

在名为gydF4y2BagbmSim.mgydF4y2Ba包含以下代码。gydF4y2Ba

版权所有The MathWorks, Inc.gydF4y2Ba函数gydF4y2Ba[m,mtrue,s, true] = gbmSim(mu,sigma)gydF4y2Ba几何布朗运动的离散近似gydF4y2Ba%gydF4y2Ba% [m,mtrue,s, true] = gbmSim(mu,sigma)计算gydF4y2Ba%模拟均值,真均值,模拟标准差,gydF4y2Ba%和基于参数mu和sigma的真实标准偏差。gydF4y2Banumcopies = 1000;numSteps = 100;Y0 = 1;T1 = 1;dt = t1 / numSteps;y1 = y0*prod(1 + mu*dt + sigma*sqrt(dt)*randn(numSteps, numcopies));M = mean(y1);S = std(y1);gydF4y2Ba理论值gydF4y2BaMtrue = y0 * exp(mu*t1);true = mtrue *√(exp(sigma^2*t1) - 1);gydF4y2Ba结束gydF4y2Ba

gbmSimgydF4y2Ba接受两个输入,gydF4y2BaμgydF4y2Ba而且gydF4y2BaσgydF4y2Ba,并返回四个输出,gydF4y2Ba米gydF4y2Ba,gydF4y2BamtruegydF4y2Ba,gydF4y2Ba年代gydF4y2Ba,gydF4y2BastruegydF4y2Ba。gydF4y2Ba

定义表格,gydF4y2Ba参数个数gydF4y2Ba,包含输入布朗运动模型的参数。gydF4y2Ba

Mu = [-.5;15年;0;或25;5);Sigma = [.1;2;。3;2;1。]; params = table(mu,sigma)
参数= 5x2表mu sigma _____ _____ -0.5 0.1 -0.25 0.2 0 0.3 0.25 0.2 0.5 0.1gydF4y2Ba

应用函数,gydF4y2BagbmSimgydF4y2Ba,到表的行,gydF4y2Ba参数个数gydF4y2Ba。gydF4y2Ba

stats = rowfun(@gbmSim,params,gydF4y2Ba...gydF4y2Ba“OutputVariableNames”gydF4y2Ba,gydF4y2Ba...gydF4y2Ba{gydF4y2Ba“simulatedMean”gydF4y2Ba“trueMean”gydF4y2Ba“simulatedStd”gydF4y2Ba“trueStd”gydF4y2Ba})gydF4y2Ba
stats = 5x4 table simulatedMean trueMean simulatedStd trueStd _____________ ________ ____________ ________ 0.60501 0.60653 0.05808 0.060805 0.77916 0.7788 0.161 0.15733 1.0024 1 0.3048 0.30688 1.2795 1.284 0.25851 0.25939 1.6498 1.6487 0.16285 0.16529gydF4y2Ba

属性指定的四个变量名gydF4y2Ba“OutputVariableNames”gydF4y2Ba名称-值对参数表示gydF4y2BarowfungydF4y2Ba应该从哪里获得四个输出gydF4y2BagbmSimgydF4y2Ba。您可以指定更少的输出变量名以返回更少的输出gydF4y2BagbmSimgydF4y2Ba。gydF4y2Ba

附加函数输出,gydF4y2Ba统计数据gydF4y2Ba,对输入,gydF4y2Ba参数个数gydF4y2Ba。gydF4y2Ba

(参数统计)gydF4y2Ba
ans = 5x6表mu sigma simulatedMean trueMean simulatedStd trueStd __________ _____________ ________ ____________ ________ -0.5 0.1 0.60501 0.60653 0.05808 0.060805 -0.25 0.2 0.77916 0.7788 0.161 0.15733 0 0.3 1.0024 1 0.3048 0.30688 0.25 0.2 1.2795 1.284 0.25851 0.25939 0.5 0.1 1.6498 1.6487 0.16285 0.16529gydF4y2Ba

创建一个表,gydF4y2Ba一个gydF4y2Ba,在那里gydF4y2BaggydF4y2Ba是分组变量。gydF4y2Ba

rng (gydF4y2Ba“默认”gydF4y2Ba) g = randi(3,[15,1]);X = rand([15,1]);Y = rand([15,1]);A = table(g,x,y)gydF4y2Ba
一个=gydF4y2Ba15×3表gydF4y2BaG x y _ ________ ________ 3 0.14189 0.70605 3 0.42176 0.031833 1 0.91574 0.27692 3 0.79221 0.046171 2 0.95949 0.097132 1 0.65574 0.82346 1 0.035712 0.69483 2 0.84913 0.3171 3 0.93399 0.95022 3 0.67874 0.034446 1 0.5774 0.43874 3 0.74313 0.38156 3 0.39223 0.76552 2 0.65548 0.7952 3 0.17119 0.18687gydF4y2Ba

定义匿名函数,gydF4y2Ba函数gydF4y2Ba,以计算之间的平均差值gydF4y2BaxgydF4y2Ba而且gydF4y2BaygydF4y2Ba。gydF4y2Ba

Func = @(x,y) mean(x-y);gydF4y2Ba

求各组变量之间的平均差值gydF4y2Ba1gydF4y2Ba,gydF4y2Ba2gydF4y2Ba,gydF4y2Ba3.gydF4y2Ba由分组变量定义,gydF4y2BaggydF4y2Ba。gydF4y2Ba

B = rowfun(func,A,gydF4y2Ba...gydF4y2Ba“GroupingVariable”gydF4y2Ba,gydF4y2Ba‘g’gydF4y2Ba,gydF4y2Ba...gydF4y2Ba“OutputVariableName”gydF4y2Ba,gydF4y2Ba“MeanDiff”gydF4y2Ba)gydF4y2Ba
B =gydF4y2Ba3×3表gydF4y2Bag GroupCount MeanDiff _ __________ ________ 14 0.032744 2 3 0.41822 3 8 0.14656gydF4y2Ba

的变量gydF4y2BaGroupCountgydF4y2Ba显示的行数gydF4y2Ba一个gydF4y2Ba对于每一组。gydF4y2Ba

输入参数gydF4y2Ba

全部折叠gydF4y2Ba

函数,指定为函数句柄。可以在文件中定义函数,也可以将函数定义为匿名函数。如果gydF4y2Ba函数gydF4y2Ba对应于多个函数文件(即如果gydF4y2Ba函数gydF4y2Ba表示一组重载函数),MATLABgydF4y2Ba®gydF4y2Ba根据输入参数的类确定调用哪个函数。gydF4y2Ba

函数gydF4y2Ba能不能接受不超过gydF4y2Ba大小(2)gydF4y2Ba输入。默认情况下,gydF4y2BarowfungydF4y2Ba的第一个输出gydF4y2Ba函数gydF4y2Ba。返回的多个输出gydF4y2Ba函数gydF4y2Ba,使用gydF4y2Ba“NumOutputs”gydF4y2Ba或gydF4y2Ba“OutputVariableNames”gydF4y2Ba名称-值对参数。gydF4y2Ba

例子:gydF4y2BaFunc = @(x,y) x.^2+y.^2;gydF4y2Ba取两个输入,求平方和。gydF4y2Ba

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

名称-值参数gydF4y2Ba

指定可选参数对为gydF4y2BaName1 = Value1,…,以=家gydF4y2Ba,在那里gydF4y2Ba的名字gydF4y2Ba参数名称和gydF4y2Ba价值gydF4y2Ba对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。gydF4y2Ba

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来gydF4y2Ba的名字gydF4y2Ba在报价。gydF4y2Ba

例子:gydF4y2Ba“数据源”,2gydF4y2Ba中只使用第二个变量gydF4y2Ba一个gydF4y2Ba作为一个输入gydF4y2Ba函数gydF4y2Ba。gydF4y2Ba

的选择变量的说明符gydF4y2Ba一个gydF4y2Ba传递到gydF4y2Ba函数gydF4y2Ba,指定为逗号分隔的对,由gydF4y2Ba“数据源”gydF4y2Ba一个正整数,正整数的向量,字符串数组,字符向量,字符向量的单元格数组,gydF4y2Ba模式gydF4y2Ba标量、逻辑向量或函数句柄。gydF4y2Ba

如果你指定gydF4y2Ba“数据源”gydF4y2Ba作为函数句柄,则它必须返回逻辑标量和gydF4y2BarowfungydF4y2Ba只传入变量gydF4y2Ba一个gydF4y2Ba函数返回的位置gydF4y2Ba1gydF4y2Ba(gydF4y2Ba真正的gydF4y2Ba).gydF4y2Ba

一个或多个变量gydF4y2Ba一个gydF4y2Ba定义行组,指定为由逗号分隔的对组成gydF4y2Ba“GroupingVariables”gydF4y2Ba一个正整数,正整数的向量,字符串数组,字符向量,字符向量的单元格数组,gydF4y2Ba模式gydF4y2Ba标量,或者逻辑向量。gydF4y2Ba

的价值gydF4y2Ba“GroupingVariables”gydF4y2Ba指定哪些表变量是分组变量,而不是它们的数据类型。分组变量可以是数值型的,也可以是数据类型的gydF4y2Ba分类gydF4y2Ba,gydF4y2BacalendarDurationgydF4y2Ba,gydF4y2BadatetimegydF4y2Ba,gydF4y2Ba持续时间gydF4y2Ba,gydF4y2Ba逻辑gydF4y2Ba,或gydF4y2Ba字符串gydF4y2Ba。gydF4y2Ba

行gydF4y2Ba一个gydF4y2Ba具有相同分组变量值的组属于同一组。gydF4y2BarowfungydF4y2Ba适用于gydF4y2Ba函数gydF4y2Ba到每组行,而不是分别到每一行gydF4y2Ba一个gydF4y2Ba。输出,gydF4y2BaBgydF4y2Ba,每个组包含一行。gydF4y2Ba

如果任何分组变量包含gydF4y2Ba南gydF4y2BaS或缺失值(例如gydF4y2BaNaTgydF4y2BaS,未定义的分类值,或缺少字符串),则相应的行不属于任何组,并从输出中排除。gydF4y2Ba

行标签可以对变量进行分组。中的一个或多个变量都可以单独按行标签进行分组gydF4y2Ba一个gydF4y2Ba,或者将行标签和变量放在一起。gydF4y2Ba

  • 如果gydF4y2Ba一个gydF4y2Ba是一个表,那么标签就是行名。gydF4y2Ba

  • 如果gydF4y2Ba一个gydF4y2Ba是一个时间表,然后标签是行时间。gydF4y2Ba

输出,gydF4y2BaBgydF4y2Ba,输入中的每一组行对应一行,gydF4y2Ba一个gydF4y2Ba。gydF4y2Ba

  • 如果你指定gydF4y2Ba“OutputFormat”、“制服”gydF4y2Ba或gydF4y2Ba“OutputFormat”、“细胞”gydF4y2Ba,则输出有一个或多个列对应于输入表变量gydF4y2Ba函数gydF4y2Ba被应用于。gydF4y2Ba

  • 如果你指定gydF4y2Ba“OutputFormat”、“表”gydF4y2Ba或gydF4y2Ba“OutputFormat”、“时间表”gydF4y2Ba,则输出为:gydF4y2Ba

    • 对应于输入表变量的一个或多个变量gydF4y2Ba函数gydF4y2Ba被应用于。gydF4y2Ba

    • 与分组变量对应的变量。gydF4y2Ba

    • 一个新变量,gydF4y2BaGroupCountgydF4y2Ba,其值是输入的行数gydF4y2Ba一个gydF4y2Ba在每一组里。gydF4y2Ba

呼叫指示灯gydF4y2Ba函数gydF4y2Ba使用单独的输入,指定为逗号分隔的对,由gydF4y2Ba“SeparateInputs”gydF4y2Ba,要么gydF4y2Ba真正的gydF4y2Ba,gydF4y2Ba假gydF4y2Ba,gydF4y2Ba1gydF4y2Ba,或gydF4y2Ba0gydF4y2Ba。gydF4y2Ba

真正的gydF4y2Ba

函数gydF4y2Ba期望单独的输入。gydF4y2BarowfungydF4y2Ba调用gydF4y2Ba函数gydF4y2Ba与gydF4y2Ba大小(2)gydF4y2Ba输入,每个数据变量有一个参数。gydF4y2Ba

这是默认行为。gydF4y2Ba

假gydF4y2Ba

函数gydF4y2Ba期望一个包含所有输入的向量。gydF4y2BarowfungydF4y2Ba创建的输入向量gydF4y2Ba函数gydF4y2Ba的每一行中的值进行连接gydF4y2Ba一个gydF4y2Ba。gydF4y2Ba

将单元格变量的值传递给的指示器gydF4y2Ba函数gydF4y2Ba,指定为逗号分隔的对,由gydF4y2Ba“ExtractCellContents”gydF4y2Ba,要么gydF4y2Ba假gydF4y2Ba,gydF4y2Ba真正的gydF4y2Ba,gydF4y2Ba0gydF4y2Ba,或gydF4y2Ba1gydF4y2Ba。gydF4y2Ba

真正的gydF4y2Ba

rowfungydF4y2Ba中提取变量的内容gydF4y2Ba一个gydF4y2Ba的数据类型为gydF4y2Ba细胞gydF4y2Ba并将值(而不是单元格)传递给gydF4y2Ba函数gydF4y2Ba

对于分组计算,单元格变量中每个组中的值必须允许垂直连接。gydF4y2Ba

假gydF4y2Ba

rowfungydF4y2Ba将变量的单元格传递给gydF4y2Ba一个gydF4y2Ba的数据类型为gydF4y2Ba细胞gydF4y2Ba来gydF4y2Ba函数gydF4y2Ba。gydF4y2Ba

这是默认行为。gydF4y2Ba

的输出的变量名gydF4y2Ba函数gydF4y2Ba,指定为逗号分隔的对,由gydF4y2Ba“OutputVariableNames”gydF4y2Ba还有一个字符向量,字符向量的单元格数组,或者字符串数组,其名称非空且不同。名称的数量必须等于所需的输出数量gydF4y2Ba函数gydF4y2Ba。gydF4y2Ba

此外,变量名必须是有效的MATLAB标识符。如果有效的MATLAB标识符不能用作变量名,则MATLAB使用单元格数组gydF4y2BaNgydF4y2Ba该形式的特征向量gydF4y2Ba{“Var1”……“VargydF4y2BaNgydF4y2Ba'}gydF4y2Ba在哪里gydF4y2BaNgydF4y2Ba是变量的数量。您可以使用该函数确定有效的MATLAB变量名gydF4y2BaisvarnamegydF4y2Ba。gydF4y2Ba

输出的数量gydF4y2Ba函数gydF4y2Ba,指定为逗号分隔的对,由gydF4y2Ba“NumOutputs”gydF4y2Ba而且gydF4y2Ba0gydF4y2Ba或者一个正整数。该整数必须小于或等于来自的可能输出数gydF4y2Ba函数gydF4y2Ba。gydF4y2Ba

例子:gydF4y2Ba“NumOutputs”,2gydF4y2Ba原因gydF4y2BarowfungydF4y2Ba打电话给gydF4y2Ba函数gydF4y2Ba有两个输出。gydF4y2Ba

的格式gydF4y2BaBgydF4y2Ba,指定为逗号分隔的对,由gydF4y2Ba“OutputFormat”gydF4y2Ba要么是值gydF4y2Ba“表”gydF4y2Ba,gydF4y2Ba“统一”gydF4y2Ba,或gydF4y2Ba“细胞”gydF4y2Ba。gydF4y2Ba

“表”gydF4y2Ba

rowfungydF4y2Ba的每个输出返回一个变量的表gydF4y2Ba函数gydF4y2Ba。对于分组计算,gydF4y2BaBgydF4y2Ba,也包含分组变量。gydF4y2Ba

“表”gydF4y2Ba允许您使用返回不同大小或数据类型值的函数。然而,对于非分组计算,所有的输出从gydF4y2Ba函数gydF4y2Ba每次调用时必须有一行。对于分组计算,所有的输出从gydF4y2Ba函数gydF4y2Ba必须有相同的行数。gydF4y2Ba

这是默认的输出格式。gydF4y2Ba

“时间表”gydF4y2Ba

rowfungydF4y2Ba返回一个时间表,其中每个变量对应一个变量gydF4y2Ba一个gydF4y2Ba(或每个变量指定gydF4y2Ba“数据源”gydF4y2Ba).对于分组计算,gydF4y2BaBgydF4y2Ba还包含分组变量。gydF4y2Ba

rowfungydF4y2Ba的行时间gydF4y2BaBgydF4y2Ba的行次gydF4y2Ba一个gydF4y2Ba。如果行被赋值gydF4y2BaBgydF4y2Ba在使用?进行计算的上下文中没有意义gydF4y2Ba函数gydF4y2Ba,然后指定输出格式为gydF4y2Ba“OutputFormat”、“表”gydF4y2Ba。gydF4y2Ba

如果gydF4y2Ba一个gydF4y2Ba是时间表,则这是默认的输出格式。gydF4y2Ba

“统一”gydF4y2Ba

rowfungydF4y2Ba连接返回的值gydF4y2Ba函数gydF4y2Ba变成一个向量。所有的输出gydF4y2Ba函数gydF4y2Ba必须是具有相同数据类型的标量。gydF4y2Ba

“细胞”gydF4y2Ba

rowfungydF4y2Ba返回gydF4y2BaBgydF4y2Ba作为单元格数组。gydF4y2Ba“细胞”gydF4y2Ba允许您使用返回不同大小或数据类型值的函数。gydF4y2Ba

函数调用ifgydF4y2Ba函数gydF4y2Ba失败,指定为逗号分隔的对,由gydF4y2Ba“ErrorHandler”gydF4y2Ba和一个函数句柄。定义此函数,使其重新抛出错误或返回函数的有效输出gydF4y2Ba函数gydF4y2Ba。gydF4y2Ba

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

  • 一个包含这些字段的结构:gydF4y2Ba

    标识符gydF4y2Ba

    错误的标识符。gydF4y2Ba

    消息gydF4y2Ba

    错误消息文本。gydF4y2Ba

    指数gydF4y2Ba

    发生错误的行或组索引。gydF4y2Ba

  • 函数的输入参数集gydF4y2Ba函数gydF4y2Ba在错误发生的时候。gydF4y2Ba

例如,gydF4y2Ba

函数gydF4y2Ba[A, B] = errorFunc(S, varargin) warning(S。标识符,S.message);A = NaN;B = NaN;gydF4y2Ba

输出参数gydF4y2Ba

全部折叠gydF4y2Ba

输出表,作为表或时间表返回。gydF4y2BaBgydF4y2Ba可以存储元数据,如描述、变量单位、变量名和行名。的属性部分,以获取更多信息gydF4y2Ba表格gydF4y2Ba或gydF4y2Ba时间表gydF4y2Ba。gydF4y2Ba

版本历史gydF4y2Ba

在R2013b中引入gydF4y2Ba