主要内容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 =兰迪(10 [5,1]);一个=表(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,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,年代,strue] = gbmSim(μ、σ)gydF4y2Ba几何布朗运动的离散逼近gydF4y2Ba%gydF4y2Ba% [m,mtrue,s, true] = gbmSim(mu,sigma)计算gydF4y2Ba%模拟平均值,真平均值,模拟标准差,gydF4y2Ba%和基于参数mu和sigma的真标准差。gydF4y2BanumReplicates = 1000;numSteps = 100;y0 = 1;t1 = 1;dt = t1 / numSteps;y = y0*prod(1 + mu*dt + sigma*sqrt(dt)*randn(numSteps, numreplicicates));m =意味着(y1);s =性病(y1);gydF4y2Ba%的理论价值gydF4y2BaMtrue = y0 * exp(mu*t1);= mtrue * sqrt(exp(sigma^2*t1) - 1);gydF4y2Ba结束gydF4y2Ba

gbmSimgydF4y2Ba接受两个输入,gydF4y2BaμgydF4y2Ba和gydF4y2BaσgydF4y2Ba,并返回4个输出,gydF4y2Ba米gydF4y2Ba,gydF4y2BamtruegydF4y2Ba,gydF4y2Ba年代gydF4y2Ba,gydF4y2BastruegydF4y2Ba.gydF4y2Ba

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

μ=[闲置;15年;0;或25;5);σ=[1。;2;。3;2;1。]; params = table(mu,sigma)
参数= 5x2 table 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

统计= rowfun (@gbmSim参数,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 table 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 =兰德([15日1]);y =兰德([15日1]);一个=表(g, x, y)gydF4y2Ba
一个=gydF4y2Ba15×3表gydF4y2Bag x y  _ ________ ________ 3 0.14189 - 0.70605 0.42176 - 0.031833 0.097132 0.95949 0.91574 0.79221 - 0.046171 0.27692 - 3 2 1 1 0.65574 - 0.82346 0.93399 - 0.95022 0.035712 0.84913 - 0.3171 0.69483 - 2 3 3 3 1 0.67874 - 0.034446 0.75774 - 0.43874 0.74313 - 0.38156 0.17119 - 0.18687 0.65548 - 0.7952 0.39223 - 0.76552 2 3gydF4y2Ba

定义匿名函数,gydF4y2Ba函数gydF4y2Ba,以计算两者之间的平均差值gydF4y2BaxgydF4y2Ba和gydF4y2BaygydF4y2Ba.gydF4y2Ba

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

找出各组变量之间的平均差异gydF4y2Ba1gydF4y2Ba,gydF4y2Ba2gydF4y2Ba,gydF4y2Ba3.gydF4y2Ba由分组变量定义,gydF4y2BaggydF4y2Ba.gydF4y2Ba

B = rowfun(函数,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

例子:gydF4y2Bax.^2+y.^2;gydF4y2Ba取两个输入,求平方和。gydF4y2Ba

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

名称-值参数gydF4y2Ba

指定可选的逗号分隔的对gydF4y2Ba名称,值gydF4y2Ba参数。gydF4y2Ba的名字gydF4y2Ba参数名和gydF4y2Ba价值gydF4y2Ba为对应值。gydF4y2Ba的名字gydF4y2Ba必须出现在引号内。可以以任意顺序指定多个名称和值对参数gydF4y2BaName1, Value1,…,的家gydF4y2Ba.gydF4y2Ba

例子:gydF4y2Ba“数据源”,2gydF4y2Ba中的第二个变量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“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

指标要求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

要调用的函数gydF4y2Ba函数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)标识符,S.message);一个=南;B =南;gydF4y2Ba

输出参数gydF4y2Ba

全部折叠gydF4y2Ba

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

介绍了R2013bgydF4y2Ba