主要内容

积累

累积矢量元素

描述

例子

B.= Accularray(印第安纳州数据uks数据组积累的元素一个向量的数据根据指定的团体印第安纳州.然后在每个组上计算总和。价值印第安纳州定义数据所属的组和索引到输出数组中B.存储每个组总和的位置。

要按顺序返回组和,请指定印第安纳州作为一个向量。然后是带索引的组一世积累返回其总和B(我).例如,如果IND = [1 1 2 2]'数据= [1 2 3 4]', 然后B = accumarray(印第安纳州、数据)返回列向量B = [3 7]'

要在另一种形状中返回组和,请指定印第安纳州作为矩阵。为m——- - - - - -N矩阵印第安纳州,每行代表组分配和一个N- 实证指数进入输出B..例如,如果印第安纳州包含两行表格[3 4],然后是相应元素的总和数据存储在(3,4)元素中B.

要点B.谁的索引没有出现在印第安纳州充满了0.默认。

例子

B.= Accularray(印第安纳州数据SZ.返回一个数组B.填充到尺寸SZ..指定SZ.作为匹配或超过中长度的正整数的向量印第安纳州.输出中的额外元素填充0..指定SZ.作为[]让索引印第安纳州确定输出的大小。

例子

B.= Accularray(印第安纳州数据SZ.乐趣应用函数乐趣每个小组数据由此指定印第安纳州.指定乐趣使用@符号,如@mean或者[]使用默认值@和

例子

B.= Accularray(印第安纳州数据SZ.乐趣fillval填补所有元素B.索引中没有引用的印第安纳州用标量值fillval.指定fillval作为[]使用默认值0.

例子

B.= Accularray(印第安纳州数据SZ.乐趣fillval颁奖物返回一个数组B.那是稀疏的时候颁奖物真的或者1,充实,如果颁奖物错误的或者0..输出B.默认情况下是完整的。

例子

全部收缩

创建数据矢量和相应的向量印第安纳州这定义了组。

数据=(1:6)'
数据=6×11 2 3 4 5 6
IND = [1 3 4 2 4 1]'
IND =6×11 3 4 2 4 1

总结数据中指定的组印第安纳州

B = accumarray(印第安纳州、数据)
B =4×17 4 2 8

或者,使用团体ummary功能,指定'和'作为组计算。

b =组ummary(数据,IND,'和'
B =4×17 4 2 8

创建组矢量。

IND = [1 1 4 2 4 3]';

将标量扩展应用于数字1计算在中定义的每个组中的元素数印第安纳州

B = Accularray(IND,1)
B =4×12 1 1 2

或者,使用GroupCounts.函数。

b = groupcounts(ind)
B =4×12 1 1 2

创建一个数据向量和一个输出指数矩阵印第安纳州这定义了数据组。

数据= 1:6
数据=1×6.1 2 3 4 5 6
Ind = [1 1;2 2;3 2;1 1;2 2;4 1]
IND =6×21 1 2 2 3 2 1 1 2 2 4 1

总结数据对于每组印第安纳州.指数印第安纳州定义输出的4×2个位置矩阵。

B1 = Accularray(IND,数据)
B1 =4×25 0 0 7 0 3 6 0

通过指定输出尺寸,将输出填充到4×4矩阵[4 4]

B2 = Accularray(IND,数据,[4 4])
B2 =4×4.5 0 0 0 0 7 0 0 0 3 0 0 6 0 0 0

计算组差异而不是总和。

创建数据矢量和矩阵印第安纳州定义数据组。

数据= [100.1 101.2 103.4 102.8 100.9 101.5]
数据=6×1100.1000 101.2000 103.4000 102.8000 100.9000 101.5000
Ind = [1 1;1 1;2 2;3 2;2 2;3 2]
IND =6×21 1 1 1 2 2 3 2 2 2 3 2

通过指定函数句柄计算每个组的方差@var.作为方法的输入。此语法应用于var函数给组而不是

B1 = Accularray(IND,DATA,[],@ var)
B1 =3×20.6050 0 0 3.1250 0 0.8450

可以将组计算指定为接受矢量输入并返回标量的匿名函数。当您希望向函数传递额外参数时,这很有用。例如,使用var函数具有归一化参数值1

A2 = Accularray(IND,DATA,[],@(x)var(x,1))
A2 =3×20.3025 0 0 1.5625 0 0.4225

为此提供额外的参数使用方法输入的匿名功能功能。

创建数据矢量和矩阵印第安纳州将数据和3-D指数的组定义为输出。

data = int8 (15)
数据=1x6 Int8行向量10 11 12 13 14 15
IND = [1 1 1;1 1 1;1 1 2;1 1 2;2 3 1;2 3 2]
IND =6×31 1 1 1 1 1 11 11 2 1 1 2 2 3 1 2 3 2

在其本机整数类中按组uk数据INT8.通过使用'本国的'选择函数。为此,使用@(x)sum(x,'native')对于方法输入。结果是2×3×2的多维类型数组INT8.

b = accumarray(IND,DATA,[],@(x)和(x,'本国的')))
B =2x3x2 INT8数组B(:,:,1)= 21 0 0 0 0 14 b(:,:2)= 25 0 0 0 0 15

创建数据矢量和矩阵印第安纳州定义数据组。

数据= 1:10
数据=1×101 2 3 4 5 6 7 8 9 10
Ind = [1 1;1 1;1 1;1 1;2 1;2 1;2 1;2 1;2 1;2 2]
IND =10×21 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 2 2

组的元素数据进入小区阵列。

B = Accularray(IND,DATA,[],@(x){x})
B =2×2个单元阵列{4x1 double} {0x0 double} {5x1 double} {[10]}

验证矢量元素与它们出现的顺序相同数据

b {2,1}
ans =.5×15 6 7 8 9

创建数据矢量和矩阵印第安纳州定义数据组。

数据=(101:106)'
数据=6×1101 102 103 104 105 106
Ind = [1 1;2 2;3 3;1 1;2 2;4 4]
IND =6×21 1 2 2 3 3 1 1 2 2 4 4

元素印第安纳州为输出定义一个4 × 4的矩阵,但只引用16个元素中的4。默认情况下,其他12个元素是0.在输出中。填写额外的输出元素价值而不是0.

B = Accularray(IND,DATA,[],[],NAN)
B =4×4.205纳米纳米NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 106

创建数据矢量和矩阵印第安纳州定义数据组。

数据= [34 22 19 85 53 77 99 6];Ind = [1 1;400 400;80 80;1 1;400 400;400 400;80 80;1 1]
IND =8×21 1 400 400 80 80 1 1 400 400 400 400 80 80 8 80 1 1

元素印第安纳州为输出定义一个400 × 400的矩阵,但仅引用16万个元素中的3个。当输出积累导致具有低密度的非零元素密度的大型阵列,您可以通过指定来保存内存颁奖物选择真的,创建稀疏矩阵而不是完整的矩阵。

b = accumarray(ind,data,[],[],[],true)
B = (1,1) 125 (80,80) 118 (400,400) 152

输入参数

全部收缩

输出索引,指定为向量、矩阵或向量的单元数组。

  • 如果印第安纳州是向量,每个元素将索引指定到输出中,并定义累计的组积累.所有元素必须是正整数和长度印第安纳州必须匹配数据向量的长度。

  • 如果印第安纳州是一个m——- - - - - -N矩阵,然后每行指定一个N- 尺寸指数进入输出。这一世投放印第安纳州对应于一世数据中的值和行数印第安纳州必须匹配数据向量的长度。例如,如果印第安纳州是一个3 × 2矩阵,它包含三个二维指标。每一行的第一个元素是进入输出的行索引,第二个元素是列索引。

  • 如果印第安纳州是指数向量的单元阵列,然后每个载体必须具有相同的长度,并且它们被视为列。

要累积的数据,指定为标量或向量。

  • 如果数据是一个标量,那么它的值是扩展的标量。

  • 如果数据是矢量,那么它必须具有与索引数组中的行数相同的长度。

输出阵列的大小,指定为正整数的向量或作为[].例如,sz = [5 7]生成一个5乘7的输出数组。当您指定时[]对于大小,索引数组中的值确定输出的大小。尺寸长度SZ.必须匹配或超过索引数组中的维度长度。

组计算,指定为函数句柄。积累按组累积数据向量的元素,然后应用该函数乐趣到集团元素。当您指定时有趣= [],计算使用默认功能.指定的函数必须接受列向量并返回一个数字,逻辑, 或者字符标量或标量细胞.有关函数句柄的更多信息,请参见创建功能句柄

例子:有趣= @max.

填充值当输出的元素不对应于索引数组中提供的索引,指定为标量或作为标量[],使用默认值0..数据类型fillval必须匹配计算功能输出的数据类型。

输出稀疏性,指定为数字或逻辑1真的) 或者0.错误的)。

颁奖物真的或者1,填充值必须为0.或者[],计算函数的输入数据和输出数据都必须具有类型

输出参数

全部收缩

输出数组,作为向量、矩阵或多维数组返回。B.具有与组计算功能返回的值相同的数据类型。

当尺寸B.未指定,输出大小取决于索引数组印第安纳州

  • 如果印第安纳州是列向量吗B.是长度的柱矢量Max(Ind,[],1)

  • 如果印第安纳州那么一个矩阵有不止一列吗B.是一个多维大小的数组Max(Ind,[],1)

更多关于

全部收缩

累积元素

以下图示说明了行为积累在12个月内拍摄的温度数据矢量。找到每个月的最高温度读数,积累适用最大限度函数到每组值温度有相同的指数

没有值指向输出的5,6,7或10个位置。这些元素是0.默认情况下在输出中。

提示

  • 的行为积累类似于功能团体ummaryGroupCounts.按组计算摘要统计信息,分别计算组中的元素数。对于Matlab中的更多分组功能®, 看预处理数据

  • 的行为积累也类似于节目函数。

    • 节目使用箱边缘将连续值纳入1-D范围。积累使用群组数据N- 实证指数。

    • 节目只能返回箱子计数和箱子放置。积累可以将任何功能应用于数据。

    你可以模仿行为节目使用积累数据= 1

  • 功能也具有类似的累积行为积累

    • 使用2-D指数组进行数据,而积累使用群组数据N- 实证指数。

    • 对于具有相同指标的元素,适用功能(for..价值观)或任何功能(for..逻辑值)并返回输出矩阵中的标量导致。积累默认为和,但可以对数据应用任何函数。

扩展能力

在R2006A之前介绍