文档

收集

在执行排队操作后,将tall数组收集到内存中

语法

Y =收集(X)
(Y1, Y2, Y3,…) =收集(X1,X2,X3,…)

描述

例子

Y=收集(X执行计算未计算的高数组所需的所有排队操作X并将结果收集到内存中Y

MATLAB®如果结果是收集计算量太大。如果您不确定结果是否能够装入内存,请使用收集(头(X))收集(尾(X))执行完整的计算,但只将结果的一小部分放入内存。

使用收集在计算过程中尽可能地合并额外的数据传递。有关更多信息,请参见高数组的递延求值

例子

Y1,Y2,Y3.) =收集(X1,X2,X3,…)收集多个未求值的高数组X1, X2, X3,……输入相应的输出Y1, Y2, Y3,…

例子

全部折叠

创建一个数据存储airlinesmall.csv数据集。选择要处理的变量子集并进行处理“NA”值作为缺失数据,以便数据存储取代他们值。将数据存储转换为一个高表。

varnames = {“年”“ArrDelay”“UniqueCarrier”};ds =数据存储(“airlinesmall.csv”“TreatAsMissing”“NA”...“SelectedVariableNames”, varnames);T =高(ds)
T = Mx3高表年份ArrDelay UniqueCarrier ____________ _____________ 1987 8 'PS' 1987 8 'PS' 1987 21 'PS' 1987 13 'PS' 1987 4 'PS' 1987 59 'PS' 1987 3 'PS' 1987 11 'PS'::::::

计算高桌子的大小。

深圳=大小(T)
Sz = 1x2高的双行向量??

MATLAB®不能立即对高数组的大多数操作进行计算。相反,MATLAB会记住您输入时执行的操作,并在后台优化计算。

当你使用收集在一个未计算的高数组上,MATLAB执行所有排队操作使用通过数据的最小次数。这种优化极大地减少了大型计算的执行时间。出于这个原因,您应该使用收集只有在你需要看到结果的时候。

使用收集执行计算并将结果收集到内存中。

S =收集(深圳)
using the Local MATLAB Session: - Pass 1 of 1: Completed in 1 sec
S =123523年3

使用收集用几个输入同时计算几个高数组。

从内存中1到1000之间的随机整数数组创建一个高数组。计算每列的最大值和最小值。

一个=高(兰迪(1000、100、7))
一个= 100 x7高双矩阵60 815 163 645 423 583 851 906 795 379 682 95 541 561 127 312 812 43 599 870 930 914 529 533 72 471 265 697 633 166 351 522 696 319 583 98 602 940 97 700 120 816 279 263 876 819 639 940 880 547 655 551 818 34 646 989  : : : : : : : : : : : : : :
b = min ();c = max ();

使用结果来确定数组中的整体最小值和最大值。把最后的结果收集到记忆里。

(mnA mxA] =收集(min (b)、马克斯(c));
使用本地MATLAB会话评估高表达式:评估在0秒内完成
[mnA mxA] [mnA mxA]
valRange =1 1000

输入参数

全部折叠

未鉴定的高数组。一个未求值的高数组是任何你在上面执行计算而不使用收集来充分评估这些计算。

输出参数

全部折叠

内存中的数组。的数据类型Y是否与未求值的tall数组的底层数据类型相同X

提示

  • 如果您有并行计算工具箱™,请参阅收集有关收集的信息分布式gpuArray计算。

介绍了R2016b

这个话题有用吗?