matlab.tall.transform
变换阵列运用函数处理的数据块
语法
描述
例子
功能适用于高大的向量
使用matlab.tall.transform
建立一个高0与另一个类似的属性数组的数组。
创建一个高表airlinesmall.csv
数据集,数据包含的信息到达和离开的时间我们的航班。提取ArrDelay
变量,这是一个向量的延迟到来。
ds = tabularTextDatastore (“airlinesmall.csv”,“TreatAsMissing”,“NA”);ds。SelectedVariableNames = {“ArrDelay”“DepDelay”};tt =高(ds);tX = tt.ArrDelay
tX = mx₁高双列向量8 8 21 13 4 59 3 11::
写一个匿名函数创建一个零的数组相同的大小和数据类型作为输入。
zerosLike = @() 0(大小(),“喜欢”,);
使用matlab.tall.transform
应用zerosLike
函数向量的延迟到来。结果是一个高大的向量相同的大小,但其值都是零。
s = matlab.tall。变换(zerosLike tX)
mx₁高双列向量s = 0 0 0 0 0 0 0 0::
两个向量变换
计算的平均向量的总航班延误抵达和起飞延误。
创建一个高表airlinesmall.csv
数据集,数据包含的信息到达和离开的时间我们的航班。提取ArrDelay
和DepDelay
变量向量的抵达和起飞延误。
ds = tabularTextDatastore (“airlinesmall.csv”,“TreatAsMissing”,“NA”);ds。SelectedVariableNames = {“ArrDelay”“DepDelay”};tt =高(ds);tX = tt.ArrDelay;泰= tt.DepDelay;
的meanDelay
功能连接的输入向量为一个矩阵,总结每一行中的值(忽略nan),然后计算平均值。显示这个函数文件的内容。
类型meanDelay
函数D = meanDelay (a, b) X = [b];Y =总和(X 2 ' omitnan ');D =意味着(Y);结束
使用matlab.tall.transform
应用meanDelay
函数中的每个数据块tX
和泰
。结果是平均总延迟在每个数据块。
d = matlab.tall。变换(tX, @meanDelay泰)
d = 7 x1高双列向量14.0621 11.1639 17.2311 15.1852 12.5860 19.8596 14.4036
这个操作假定的结果减少每个数据块标量值可以在内存中。对于非常大的数据集,数据集使用一小块大小,这个假设可能不是真的。
应用函数具有多个输出
发现的最大价值和索引值在每一行的数据。
创建一个高表airlinesmall.csv
数据集,数据包含的信息到达和离开的时间我们的航班。提取ArrDelay
和DepDelay
变量向量的抵达和起飞延误。
ds = tabularTextDatastore (“airlinesmall.csv”,“TreatAsMissing”,“NA”);ds。SelectedVariableNames = {“ArrDelay”“DepDelay”};tt =高(ds);tX = tt.ArrDelay;泰= tt.DepDelay;
的maxDelay
功能连接的输入向量,然后找到最大到达或离开延迟时间和它的列索引。显示文件的内容。
类型maxDelay
函数[M,我]= maxDelay (A, B) X = [B];[M,我]= max (X, [], 2);结束
使用matlab.tall.transform
应用maxDelay
函数中的每个数据块tX
和泰
。结果是每一行的最大到达或离开延迟数据,以及一个索引向量表示这列最大值。索引1表明,到达延迟这一行比较大,和指数2表明出发的延迟比较大。
idx [M] = matlab.tall。变换(tX, @maxDelay泰)
M = mx₁高双列向量12 8 21 13 4 63 3 11::idx = mx₁高双列向量2 1 1 1 1 2 1 1::
输出表有不同的变量
使用“OutputsLike”
返回一个表的选项matlab.tall.transform
不同的变量输入表。
创建一个高表有两个变量的随机值。
T =高(表(兰德(1)e6, 1),兰德(1 e6, 1)))
T = 1000000 x2高表Var1 Var2 ____ ____ 0.81472 0.90399 0.90579 0.94095 0.12699 0.80252 0.91338 0.24205 0.63236 0.97566 0.09754 0.31723 0.2785 0.81279 0.54688 0.69743::::
这个函数tableDiff
计算两个输入表变量之间的区别并添加结果表中作为一个新的变量。显示文件的内容。
类型tableDiff
函数兜售= tableDiff(锡)d =锡。Var2 - Tin.Var1;锡。Var3 = abs (d);兜售=锡;结束
使用matlab.tall.transform
应用tableDiff
函数中的每个数据块T
。因为输出表有不同的变量从输入表,使用“OutputsLike”
名称-值对原型表提供类似的变量作为输出(三个变量默认名称Var1
,Var2
,Var3
)。
Z = matlab.tall。变换(@tableDiff T“OutputsLike”,{表(1,1,1)})
Z = Mx3高表Var1 Var2 Var3 ____ ____ ________ 0.81472 0.90399 0.089267 0.90579 0.94095 0.035156 0.12699 0.80252 0.67553 0.91338 0.24205 0.67133 0.63236 0.97566 0.3433 0.09754 0.31723 0.21969 0.2785 0.81279 0.53429 0.54688 0.69743 0.15054::::::
输入参数
fcn
- - - - - -变换函数应用
函数处理|匿名函数
应用变换函数,指定为一个函数处理或匿名函数。每个输出的fcn
必须是相同的类型作为第一个输入tX
。您可以使用“OutputsLike”
选择返回输出不同的数据类型。如果fcn
返回一个以上的输出,那么输出必须都有相同的高度。
一般功能的签名fcn
是
(a, b, c,……)= fcn(x, y, z, ...)
fcn
必须满足这些要求:
输入参数——输入
(x, y, z,……)
是装入内存的数据块。从各自的提取数据产生的块高输入数组(tX,泰,tZ,…)
。输入(x, y, z,……)
满足这些属性:所有的
(x, y, z,……)
有相同的大小在任何允许扩张后的第一个维度。的数据块
(x, y, z,……)
来自同一指数在高维度,假设高数组nonsingleton在高维度。例如,如果tX
和泰
nonsingleton在高维度,那么第一组块可以吗x = tX (1:20000:)
和y =泰(1:20000:)
。如果第一个维度的
(tX,泰,tZ,…)
有一个大小1
,那么相应的块(x, y, z,……)
包括高数组中的所有数据。
输出参数——输出
(a, b, c,……)
是装入内存块,发送给相应的输出(助教、结核,tC,…)
。输出(a, b, c,……)
满足这些属性:所有的
(a, b, c,……)
必须具有相同的大小在第一维度。所有的
(a, b, c,……)
垂直连接有各自的结果之前的电话fcn
。所有的
(a, b, c,……)
被发送到相同的索引在第一维度在各自目的地输出数组。
功能规则- - - - - -
fcn
必须满足功能规则:F ([inputs1;inputs2]) = = (F (inputs1);F (inputs2))
:应用功能连接的输入应该是一样的应用函数分别输入然后连接结果。
空输入——确保
fcn
可以处理的输入0的高度。空输入可能发生当一个文件是空的或如果你已经做了很多过滤数据。
例如,该函数接受两个输入数组,广场,并返回两个数组输出:
函数[xx, yy] = sqInputs (x, y) xx = x ^ 2;yy = y ^ 2;结束
tX
和泰
使用这个命令:(助教、结核病)= matlab.tall.transform (tX, @sqInputs泰)
例子:tA = matlab.tall.transform (@ x (x)。* 2, tX)
指定一个匿名函数的值相乘tX
由2。
例子:tC = matlab.tall.transform (tX, @plus泰)
指定一个函数处理@plus
添加两个数组。
数据类型:function_handle
tX
,泰
- - - - - -输入数组
标量|向量|矩阵|多维数组
输入数组,指定为标量、向量,矩阵或多维数组。输入数组作为输入指定的函数fcn
。每个输入数组tX,泰,…
必须有高度兼容。两个输入兼容的高度时,他们有相同的高度,或者当一个输入的高度。
巴勒斯坦权力机构
,PB
- - - - - -输出数组的原型
数组
样机的输出数组,指定为数组。当你指定“OutputsLike”
,输出数组助教,结核病,…
返回的matlab.tall.transform
有相同的数据类型作为指定的数组{PA、PB,…}
。
例子:tX, tA = matlab.tall.transform (fcn OutputsLike, {int8 (1)});
,在那里tX
是一个双精度数组,返回一个
作为int8
而不是双
。
输出参数
助教
,结核病
——输出数组
矩阵向量标量| | |多维数组
输出数组,返回标量、向量,矩阵或多维数组。如果任何输入matlab.tall.transform
高,那么所有输出参数也高。否则,输出参数都是内存中的数组。
大小和输出数组的数据类型取决于指定的函数fcn
。一般来说,输出助教,结核病,…
都必须具有相同的数据类型作为第一个输入X
。然而,您可以指定“OutputsLike”
返回不同的数据类型。输出数组助教,结核病,…
都有相同的高度。
更多关于
高的组块
当您创建一个高大从数据存储阵列,底层数据存储便于计算期间的运动数据。离散的数据移动棋子块或块,每个块是一组连续的行可以装入内存。例如,一个块的一个二维数组(如表)X (n: m:)
,对于一些下标n
和米
。每个块的大小是基于价值的ReadSize
房地产的数据存储,但大小的块可能并不完全。的目的matlab.tall.transform
,一个高大的数组被认为是许多这样的块的垂直连接:
例如,如果您使用总和
函数的变换函数,结果是之和每一块。因此,而不是返回一个标量值的和元素,结果是一个向量长度等于块的数量。
ds = tabularTextDatastore (“airlinesmall.csv”,“TreatAsMissing”,“NA”);ds。SelectedVariableNames = {“ArrDelay”“DepDelay”};tt =高(ds);tX = tt.ArrDelay;f = @ (x)和(x,“omitnan”);s = matlab.tall。变换(f, tX);s =收集(s)
s = 140467 101065 164355 135920 111182 186274 21321
版本历史
Apri esempio
如果dispone di una versione modificata di questo esempio。Desideri aprire questo esempio con le modifiche星期二吗?
第一MATLAB
海脂肪clic苏联合国collegamento切corrisponde questo第一MATLAB:
Esegui il第一inserendolo所以nella隙缝di第一MATLAB。我浏览器web非supportano金宝app comandi MATLAB。
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。