主要内容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函数的gydF4y2Ba到5 × 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

版权所有2015 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*√(dt)*randn(numSteps, numduplicate));M =均值(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)
Params = 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

(@gbmSim,params,gydF4y2Ba...gydF4y2Ba“OutputVariableNames”gydF4y2Ba,gydF4y2Ba...gydF4y2Ba{gydF4y2Ba“simulatedMean”gydF4y2Ba“trueMean”gydF4y2Ba“simulatedStd”gydF4y2Ba“trueStd”gydF4y2Ba})gydF4y2Ba
stats = 5x4表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.75774 0.034446 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对应于多个函数文件(即ifgydF4y2Ba函数gydF4y2Ba表示一组重载函数),MATLABgydF4y2Ba®gydF4y2Ba根据输入参数的类确定调用哪个函数。gydF4y2Ba

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

例子:gydF4y2BaFunc = @(x,y) x.²+y.²;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失败,指定为逗号分隔的pair,由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

Baidu
map