主要内容

收集

收集高数组到内存中执行排队后操作

描述

例子

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

MATLAB®可以耗尽内存的结果吗收集计算太大。如果你不确定结果是否可以装入内存,使用收集(头(X))收集(尾(X))执行完整的计算,但只带一小部分结果到内存中。

使用收集谨慎以确保额外通过尽可能地结合在计算的数据。有关更多信息,请参见延迟评价高数组

例子

(Y1,Y2,Y3,……)=收集(X1,X2,X3,…)收集多个未鉴定的高数组X1, X2, X3,……到相应的输出Y1, Y2, Y3,…

例子

全部折叠

创建一个数据存储airlinesmall.csv数据集。选择一个子集的变量,和治疗“NA”价值观缺失的数据,tabularTextDatastore取代他们值。将数据存储到一个高的表。

varnames = {“年”,“ArrDelay”,“UniqueCarrier”};ds = tabularTextDatastore (“airlinesmall.csv”,“TreatAsMissing”,“NA”,“SelectedVariableNames”,varnames);T =高(ds)
T = Mx3高表年ArrDelay UniqueCarrier ____ ________ _________________ 1987 1987 {“PS”} {“PS”} 1987 21 1987 {“PS”} {“PS”} 1987 1987 59 {“PS”} {“PS”} 1987 3 {“PS”} 1987 11 {“PS”}::::::

计算高表的大小。

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

MATLAB®并不会立即评估大多数高数组的操作。相反,MATLAB记得你执行当你进入他们的操作在后台和优化计算。

当你使用收集在未鉴定的高数组,MATLAB执行所有的操作队列使用最小数量的经过数据。这种优化大大减少了执行时间的大型计算。出于这个原因,你应该使用收集只有当你需要看到结果。

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

S =收集(深圳)
评估高表达式使用当地的MATLAB会话:通过1 1:在0.97秒完成评估在1.2秒完成
S =1×2123523年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 989年34 646::::::::::::::
b = min ();c = max ();

使用结果来确定整个数组中的最小值和最大值。收集最终结果到内存中。

(mnA mxA] =收集(min (b)、马克斯(c));
评估高表达式使用当地的MATLAB会话:通过1 1:在0.3秒完成评估在0.71秒完成
valRange = (mnA mxA]
valRange =1×21 1000

输入参数

全部折叠

未鉴定的高数组。未鉴定的高数组是任何高执行计算不使用数组收集充分评估这些计算。

输出参数

全部折叠

内存中的数组。的数据类型Y是一样的底层数据类型数组未鉴定的高X

提示

  • 如果你有并行计算工具箱™,明白了收集(并行计算工具箱)信息收集分布式gpuArray计算。

扩展功能

高大的数组
计算和数组的行比装入内存。

GPU的代码生成
生成NVIDIA的CUDA®代码®GPU使用GPU编码器™。

版本历史

介绍了R2016b