主要内容

ArrayDataStore.

用于内存数据的数据存储

描述

使用一个ArrayDatastore对象以管理从内存数据创建的数据存储。你可以创建一个ArrayDatastore对象使用ArrayDataStore.函数,指定其属性,然后使用对象函数导入和处理数据。

创建

描述

例子

arrds.= ArrayDataStore(一个创建一个数据存储arrds.来自阵列一个存储在内存中。

例子

arrds.= ArrayDataStore(一个名称,价值的附加参数和属性arrds.使用一个或多个名称值对参数。例如,指定每个调用的每个呼叫函数通过呼叫读取三行数据ARRD = ArrayDataStore(数据,“readSize”,3)

输入参数

展开全部

输入数组,指定为矩阵。

属性

展开全部

ArrayDatastore属性描述了数据存储对象中内存数据的格式,并控制数据如何从数据存储读取。您可以指定值ArrayDatastore属性在创建数据存储对象时使用名称-值对参数。要在创建对象后查看或修改属性,请使用点表示法。

对象调用中要读取的数据量函数,指定为逗号分隔的对,由“ReadSize”一个正整数。每次呼叫读取最多阅读行。的值“ReadSize”超过输入数据中的行数,将读取数据存储对象中的所有行。

默认值“ReadSize”1

数据类型:双倍的

在呼叫中读取的维度函数,指定为逗号分隔的对,由'iteationdimension'一个正整数。例如,“IterationDimension”,2使从数据存储对象返回面向列的数据。默认值'iteationdimension'1,这使得返回row-oriented数据. .

如果指定值的值“OutputType”财产'相同的',然后'iteationdimension'必须设置为值1。

如果修改值'iteationdimension'在创建你的ArrayDatastore对象,matlab.®将数据存储重置为未读状态。

数据类型:双倍的

组成的逗号分隔对指定的输出数据类型“OutputType”和其中一个值:

  • '细胞'-以n × 1单元格数组的形式返回数据。例如,如果一个是一个数字数组和阅读3.返回数字数据的3 × 1单元格数组。

  • '相同的'- 将相同的数据类型返回为输入数组一个.例如,如果一个是一个数字数组,返回数字阵列。

的价值OutputType.属性返回的数据类型预览, 和readall职能。

如果修改值“OutputType”在创建你的ArrayDatastore对象,MATLAB重置数据存储到一个未读状态。

数据类型:char|字符串

对象功能

hasdata 确定数据是否可用来读取
numpartitions 数据存储区分区数量
分区 分区数据存储
预览 预览数据存储中的数据子集
在数据存储区中读取数据
readall 读取数据存储中的所有数据
重启 将数据存储重置为初始状态
转换 变换数据存储
结合 组合来自多个数据存储的数据
洗牌 在数据存储区中播放所有数据
子集 创建数据存储或文件集的子集

例子

全部收缩

创建一个ArrayDatastore对象,然后读取数据存储中的所有数据。

创建矩阵。

A =魔术(10)
一个=10×1092 99 1 8 15 67 74 51 58 40 98 80 7 14 81 85 57 64 41 4 81 88 20 22 54 56 63 70 47 85 87 19 21 3 60 62 69 71 21 21 2 21 3 60 62 69 71 21 218 86 93 25 2 9 61 23 68 75 52 3417 24 76 83 90 49 26 26 33 65 23 5 82 89 91 48 30 3 3 9 66 79 6 13 95 97 29 3 3 3 3 3 3 3 3 3 4 4 6 53 11 18 100 77 84 3 3 43 50 27 59

创建一个ArrayDatastore来自矩阵的对象。

arrds = arrayDatastore (A)
arrds = ArrayDatastore with properties: ReadSize: 1 IterationDimension: 1 OutputType: "cell"

读取数据存储中的所有数据。

readall(Arrds)
ans =.10×1个单元阵列{[92 99 11 15 67 74 51 58 40]} {[98 80 7 14 16 73 55 57 64 41]} {[4 81 88 20 22 54 54 56 63 70 47]}}}}}}}}}}}}}}}}}}}}}}}} {[85 87 19 21 3 6062 69 71 28]} {[86 93 25 2 9 61 68 75 52 34]}} {[17 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 24 76 83 90 4 4 9 26 3 3 3 3 3 3 3 9 3 3 3 3 3 3 3 5]} {[79 6 13 13132]}}}} {[

将相同的数据类型作为输入阵列返回,而不是将数据返回为n键单元阵列。

从电子表格文件创建表counties.xlsx..通过在电子表格中列第十导入从第五所有行。

t = readtable(“counties.xlsx”“范围”67年,[1,5日,10])
T =66×6表CountyName状态StateName Population2010 HousingUnits2010 LandArea  _______________________ ______ _______________ ______________ ________________ __________ {' 费尔菲尔德县的}{CT的}{“康涅狄格”}9.1683 e + 05年3.6122 1.6185 e + e + 05年09年{“哈特福德郡”}{CT的}{“康涅狄格”}8.9401 e + 05年3.7425 1.9039 e + e + 05年09年{Litchfield县的}{CT的}{'康涅狄格州'}1.8993e+05 87550 2.3842e+09 {'Middlesex County'} {'CT'}{'康涅狄格州'}1.6568e+05 74837 9.5649e+08{'纽黑文县'}{'CT'}{'康涅狄格州'}8.6248e+05 3.62e+05 1.5657e+09{'新伦敦县'}{'CT'}{'康涅狄格州'}2.7406e+05 1.2099e+05 1.722e+09 {'Tolland County'} {'CT'}{'康涅狄格州'}1.5269e+05 57963 1.0624e+09{“温德姆县”}{“CT”}{“康涅狄格州”}1.1843e+05 49073 1.3284e+09{“Androscoggin县”}{“ME”}{“Maine”}1.0777 e+05 49090 1.2119e+09{“阿鲁斯图克县”}{“ME”}{“Maine”}71870 39529 1.7279e+10{“坎伯兰县”}{“ME”}{“Maine”}2.8167e+05 1.3866e+05 2.1633e+09{“富兰克林县”}{“ME”}{“Maine”}30768 21709 4.3942e+09{“Hancock”县'}{'ME'} {'Maine'} 54418 40184 4.11e+09{'肯纳贝克县'}{'ME'} {'Maine'} 1.2215e+05 60972 2.2469e+09{'诺克斯县'}{'ME'} {'Maine'} 39736 23744 9.4569e+08{'林肯县'}{'ME'} {'Maine'} 34457 23493 1.1806e+09⋮

从表中创建数据存储。集“OutputType”'相同的'返回与输入表相同的数据类型。

arrds = ArrayDataStore(T,“outputtype”“相同的”
arrds = ArrayDatastore与属性:READSIZE:1 IterationDimension:1个输出类型: “相同” 的

预览数据存储中的数据。

预览(arrds)
ans =.8×6表CountyName StateName Pander2010 HouseUnits2010 Landarea ___________________ ________________________________________________________'cialfield _______________0.3185e + 09 {'哈特福德郡'} {CT'{'connecticut'} 8.9401E + 05 3.7425C + 05 1.9039E + 09 {'Litchfield County'} {'CT'} {'Connecticut'} {'Connecticut'} 1.8993E + 05 87550 2.3842E + 09 {'Middlesex County'} {'ct'} {'connecticut'} 1.6568E + 05 74837 9.5649E + 08 {'纽黑文县'} {'ct'} {'connecticut'} {'connecticut'} 8.6248E + 05 3.624 + 05 1.5657E + 09 {'新伦敦县} {'ct'} {'connecticut'} 2.7406e + 05 1.2099E + 05 1.722C + 09 {'CT'} {'CT'} {'Connecticut'} 1.5269E + 05 57963 1.0624E +09 {'Windham County'} {'CT'} {'Connecticut'} 1.1843E + 05 49073 1.3284E + 09

为MAT-file变量创建数据存储,然后用不同的方法从文件中读取数据阅读值。

加载MAT-fileBostonWeatherData.mat进入工作区。

负载'bostonweatherdata.mat'

创建一个数据存储区weatherData变量。集阅读10行。的价值阅读控件的每次调用从数据存储中读取多少行数据函数。集“OutputType”'相同的'将相同的数据类型返回为输入数组。

arrds = arrayDatastore(weatherData,“ReadSize”10“outputtype”“相同的”
ArrayDatastore属性:ReadSize: 10 IterationDimension: 1 OutputType: "same"

从数据存储中读取数据。

data1 =阅读(arrds)
data1 =10×3时间表时间温暖湿度事件___________ _______________________________________________________ 2015 72 78雷暴02-jul-2015 72 60无03-jul-2015 70 56没有04-jul-2015 67 75没有05-jul-2015 72 67没有06-2015年7月74 69无07-Jul-2015 75 77 Rain 08-Jul-2015 79 68 Rain 09-Jul-2015 66 77 Rain 10-Jul-2015 69 74 Rain

设定阅读财产价值30.并从数据存储读取。第二个电话函数从数据存储读取下一个30行。

arrds。ReadSize = 30;

从数据存储中读取数据。

data2 =阅读(arrds)
data2 =30×3时间表时间温暖湿度事件___________ _____________________________JUL-2015 76 49没有12-JUL-2015 81 54没有13-JUL-2015 72 81没有14-JUL-2015 74 72下雨15-JUL-2015 75 87下雨16-2015年7月65 65 None 17-Jul-2015 68 72 72没有18-Jul-2015 71 81 Rain 19-Jul-2015 81 73 Rain 20-Jul-2015 81 62没有21-Jul-2015 76 66没有22-Jul-2015 77 58无23-jul-2015 75 52没有24-jul-2015 74 60下雨25-jul-2015 66 81没有26-jul-2015 71 79雨⋮

可以选择从其中读取数据的维度ArrayDatastore.例如,您可以读取其数据存储在其中数据的视频的帧ArrayDatastore通过第四维度的阅读。

加载视频数据。创建一个录像机来自文件的对象Xylophone.mp4.

v = VideoReader (“xylophone.mp4”);

中读取所有视频帧录像机对象进入工作区。

allFrames =阅读(v);

从您读取的帧中创建数据存储。集'iteationdimension'4沿第四维度读取数据。集“OutputType”'细胞'将数据返回为单元格数组。集“ReadSize”到4读取每个呼叫中​​的四个视频帧函数。

arrds = arrayDatastore(allFrames,“迭代dimension”,4,“outputtype”“细胞”“ReadSize”4)
arrds = ArrayDatastore with properties: ReadSize: 4 IterationDimension: 4 OutputType: "cell"

读取并显示数据存储中的前四个视频帧作为矩形瓷砖图像。

帧=阅读(arrds);imout = imtile(帧);imshow (imout)

图包含轴。轴包含类型图像的对象。

尖端

  • 您可以合并和转换ArrayDatastore具有包含磁盘数据的数据存储的对象(例如ImageDatastoretabulartextdatastore.对象)使用结合转换职能。

在R2020B中介绍