signalDatastore
描述
使用一个signalDatastore
对象来管理内存数据或信号文件的集合,每个文件符合内存,但整个集合不一定适合。
创建
描述
输入参数
数据
- - - - - -内存中输入数据
单元阵列的向量|细胞矩阵的数组|单元阵列的时间表|单元阵列的细胞阵列
内存中输入数据,指定为向量,矩阵,时间表,或细胞阵列。的每个元素数据
是输出的数据存储在每个调用吗读
。
例子:{randn (100 1);randn (120 3);randn (135 2);randn (100 1)}
位置
- - - - - -文件或文件夹包含在数据存储中
文件集
对象|路径|DsFileSet
对象
文件或文件夹包括在数据存储中,指定为一个文件集
对象,如文件路径,或者作为一个DsFileSet
对象。
文件集
对象,您可以指定位置
作为一个文件集
对象。作为一个指定位置文件集
数据存储对象会导致更快的建设时间相比,或指定一个路径DsFileSet
对象。有关更多信息,请参见matlab.io.datastore.FileSet
。文件路径,您可以指定一个文件路径作为特征向量或字符串标量。您可以指定多个文件路径作为一个单元阵列特征向量或一个字符串数组。
DsFileSet
对象,您可以指定一个DsFileSet
对象。有关更多信息,请参见matlab.io.datastore.DsFileSet
。
文件或文件夹可能是本地或远程:
本地文件或文件夹-指定本地文件或文件夹路径。如果文件不在当前文件夹,然后指定完整或相对路径。指定文件夹的子文件夹内文件不会自动包含在数据存储中。您可以使用通配符(*)时指定的本地路径。这个角色指定数据存储包括所有匹配的文件或匹配所有文件文件夹。
远程文件或文件夹-指定完整路径远程文件或文件夹作为一个统一资源定位符(URL)的形式
hdfs: / / /
。有关更多信息,请参见使用远程数据。path_to_file
指定一个文件夹时,数据存储只包含文件支持的文件格式和忽略任何其他格式的文件。金宝app指定一个自定义列表的文件扩展名,包括数据存储,看到FileExtensions
财产。
例子:“whale.mat”
例子:“. . / dir /数据/ signal.mat”
数据类型:字符
|字符串
|细胞
指定可选的双参数作为Name1 = Value1,…,以=家
,在那里的名字
参数名称和吗价值
相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。
R2021a之前,用逗号来分隔每一个名称和值,并附上的名字
在报价。
例子:sds = signalDatastore (C: \ dir \ signaldata, FileExtensions, . csv)
IncludeSubfolders
- - - - - -子文件夹包含国旗
假
或0
(默认)|真正的
或1
子文件夹包含标志,指定为真正的
或假
。指定真正的
包括每个文件夹内的所有文件和子文件夹假
只包括每个文件夹内的文件。
例子:“IncludeSubfolders”,真的
数据类型:逻辑
|双
FileExtensions
- - - - - -信号文件扩展名
特征向量|单元阵列的特征向量|字符串标量|字符串数组
标量信号文件扩展名,指定为一个字符串,字符串数组,特征向量,或单元阵列的特征向量。
如果没有指定阅读功能,“FileExtensions”
只能设置为.mat
读mat文件,或. csv
读CSV文件。如果“FileExtensions”
省略,默认吗.mat
如果有mat文件在指定的位置,否则“FileExtensions”
默认为. csv
如果有CSV文件中指定的位置。
如果指定位置包含mat文件和CSV文件,signalDatastore
默认为阅读mat文件。如果mat文件和CSV文件都不存在,signalDatastore
与默认的错误读
函数。指定一个自定义读
使用ReadFcn
函数来读取任何其他类型的文件。
当你没有指定文件扩展名,signalDatastore
需要解析文件决定默认扩展阅读。指定一个扩展来避免解析时间。
例子:' FileExtensions ', ' . csv”
数据类型:字符串
|字符
|细胞
除了这些名称参数,您还可以指定这个页面上的任何属性名称-值对,除了文件
财产。
属性
内存数据
成员
- - - - - -成员名
单元阵列
成员名称,指定为一个单元阵列。成员名称输入数据的长度应该等于的长度数据
单元阵列。这个属性只适用于当数据存储包含内存中的数据。
MemberNames
- - - - - -信号数据成员
[" Member1 "……“MemberN”)
(默认)|字符串标量|字符串数组
信号数据成员指定为标量字符串或字符串数组。成员名称输入数据的长度应该等于的长度数据
单元阵列。这个属性只适用于当数据存储包含内存中的数据。
文件数据
文件
- - - - - -文件包含在数据存储
单元阵列的字符串|单元阵列的特征向量
文件中包含的数据存储,指定为一个细胞或字符的字符串数组向量。单元阵列中的每个字符向量代表一个文件的完整路径。的位置
论点的signalDatastore
定义了文件
创建数据存储时。这个属性只适用于当数据存储包含文件数据。
数据类型:字符串
|字符
|细胞
ReadFcn
- - - - - -自定义读取函数
读
(默认)|函数处理
函数,读取数据,指定为一个函数处理。函数必须采取一个文件名称作为输入,然后输出相应的数据。例如,如果customreader
是指定的函数来读取数据,那么它必须有一个模板:
函数data = customreader(文件名)…结束
函数(数据、信息)= customreader(文件名)…结束
数据
变量。的信息
变量必须包含用户定义的一个用户定义的结构信息的文件。如果你需要额外的参数,您可以包括后文件名
论点。signalDatastore
附加的信息
结构一个字段包含文件的名称。
例子:@customreader
数据类型:function_handle
AlternateFileSystemRoots
- - - - - -替代的文件系统根路径
字符串向量|单元阵列
替代的文件系统根路径,指定为名称参数组成的“AlternateFileSystemRoots”
和一个字符串向量或一个单元阵列。使用“AlternateFileSystemRoots”
当您创建一个数据存储在本地机器上,但需要在另一台机器上访问和处理数据(可能是不同的操作系统)。另外,当处理数据使用并行计算工具箱™和MATLAB®并行服务器™,数据存储在您的本地机器复制的数据在不同的平台上云或集群机器,您必须使用“AlternateFileSystemRoots”
把根路径。
把一组相当于一根路径,指定
“AlternateFileSystemRoots”
作为字符串向量。例如,[" Z: \数据集”、“/ mynetwork /数据集”)
把多个根集数据存储路径是等价的,指定
“AlternateFileSystemRoots”
作为一个单元阵列包含多个行,每一行表示一组等价的根路径。指定单元阵列中的每一行作为一个字符串向量或单元阵列的特征向量。例如:指定
“AlternateFileSystemRoots”
作为一个字符串向量的单元阵列。{[Z: \“数据集”、“/ mynetwork /数据集”);…[" Y: \数据集”、“/ mynetwork2 /数据集”、“年代:\数据集”)}
另外,指定
“AlternateFileSystemRoots”
作为一个单元阵列单元阵列的特征向量。{{“Z: \数据集”、“mynetwork /数据集”},…{“Y: \数据集”,“mynetwork2 /数据集”,年代:\数据集的}}
的价值“AlternateFileSystemRoots”
必须满足以下条件:
包含一个或多个行,每一行指定一组等价的根路径。
每一行指定多个根路径和每个根路径必须包含至少两个字符。
根路径都是独一无二的,没有子文件夹。
包含至少一个根路径条目指向文件的位置。
有关更多信息,请参见为处理在不同的机器上或设置数据存储集群。
例子:[" Z: \数据集”、“/ mynetwork /数据集”)
数据类型:字符串
|细胞
SignalVariableNames
- - - - - -在信号文件名称的变量
第一个变量名(默认)|字符串标量|字符串向量
变量的名字在信号文件中,指定为字符串标量或矢量独特的名字。时使用这个属性文件包含多个变量和你想指定变量的名称,你想读的信号数据。
当属性值是一个字符串标量,
signalDatastore
返回指定的变量中包含的数据。当属性值是一个字符串向量,
signalDatastore
返回一个单元阵列的数据包含在指定的变量。在这种情况下,您可以使用ReadOutputOrientation
属性来指定输出单元阵列的方向作为列或行。
如果没有指定这个属性,signalDatastore
读取每个文件的第一个变量的变量列表。
请注意
确定第一个变量在一个文件的名字,signalDatastore
遵循这些步骤:
mat文件:
s =负载(文件名);varNames =字段名(s);firstVar = s。(varNames {1});
CSV文件:
选择= detectImportOptions(文件名,“PreserveVariableNames”,真正的);varNames = opts.VariableNames;字符串(varNames firstVar = {1});
这个属性只适用于数据存储包含文件时使用数据和默认读取功能。
ReadOutputOrientation
- - - - - -输出信号数据单元阵列方向
“列”
(默认)|“行”
输出信号数据单元阵列定位,指定为“列”
或“行”
。这个属性指定如何东方输出信号数据单元数组后调用读
函数的时候SignalVariableNames
包含多个信号名称。ReadOutputOrientation
当没有影响SignalVariableNames
不适用,如果只包含一个元素SignalVariableNames
没有指定。
这个属性只适用于数据存储包含文件时使用数据和默认读取功能。
例如:输出单元阵列方向
在从文件读取多个变量信号数据存储的例子,数据
默认的输出方向和一个2×1列数组:
{1×4941双}{1×4941双}
ReadOutputOrientation
作为“行”
,然后数据
是一个数组1×2行:{1×4941双}{1×4941双}
SampleRateVariableName
- - - - - -名字的变量采样率
字符串标量
变量的采样率,名称指定为字符串标量。这个属性只适用于当数据存储包含文件数据。
SampleTimeVariableName
- - - - - -名字的变量样本时间价值
字符串标量
拿着样品时间值的变量的名称,指定为字符串标量。这个属性只适用于当数据存储包含文件数据。
TimeValuesVariableName
- - - - - -变量的名字持有时间值向量
字符串标量
变量名持有时间值向量,指定为字符串标量。这个属性只适用于当数据存储包含文件数据。
请注意
“SampleRateVariableName”
,“SampleTimeVariableName”
,“TimeValuesVariableName”
是相互排斥的。当你使用这些属性文件包含一个变量保存信号的时间信息数据。如果不指定,signalDatastore
假定信号数据没有时间信息。如果自定义这些属性是无效的读
指定的函数。
内存和文件数据
SampleRate
- - - - - -采样率值
积极的标量|积极的向量
采样率值,指定为一个积极的真正的标量或矢量。
设定的值
SampleRate
一个标量指定相同的对所有信号的采样率signalDatastore
。设定的值
SampleRate
一个向量来指定一个不同的每个信号的采样率signalDatastore
。
向量中的元素的数量必须等于元素的数量signalDatastore
。
时间价值
- - - - - -时间值
向量|持续时间
向量|矩阵|单元阵列
时间值,指定为一个向量,持续时间
向量,矩阵,或单元阵列。
ReadSize
- - - - - -最大数量的信号返回的文件读
1
(默认)|积极的真正的标量
最大数量的信号返回的文件读
,指定为一个积极的真正的标量。如果你设置ReadSize
财产n,这样n> 1,每次调用读
函数,该函数读取:
第一个变量的第一个n文件,如果
sds
包含文件数据。第一个n成员,如果
sds
包含内存中的数据。
的输出读
是一个单元阵列信号的数据什么时候ReadSize
> 1。
对象的功能
读 |
读下一个连续信号的观察 |
readall |
从数据存储读取所有信号 |
writeall |
写数据存储文件 |
预览 |
读第一信号观测数据存储的预览 |
洗牌 |
随机信号在信号数据存储 |
子集 |
创建数据存储子集的信号 |
分区 |
分区信号数据存储和恢复分区的部分 |
numpartitions |
回归估计合理数量的分区并行处理 |
重置 |
数据存储重置为初始状态 |
进步 |
确定有多少数据被读取 |
hasdata |
确定数据可用来读 |
变换 |
变换数据存储 |
结合 |
合并来自多个数据存储的数据 |
isPartitionable |
确定是否可分区的数据存储 |
isShuffleable |
确定是否shuffleable数据存储 |
请注意
isPartitionable
和isShuffleable
返回真正的
默认情况下为signalDatastore
。你可以测试的输出结合
和变换
可分区或shuffleable使用两个函数。
例子
信号数据存储和内存数据
创建一个信号数据存储来遍历的元素一个内存单元阵列的信号数据。数据由一个呈现正弦调制线性啁啾,凹二次啁啾和电压控制振荡器。在3000赫兹的信号采样。
fs = 3000;t = 0:1 / fs: 3 - 1 / f;data ={唧唧喳喳(300 t, t(结束),800年)。* exp (2 j *π* 10 * cos(2 *π* 2 * t));…2 *唧唧喳喳(1000 t, 200 t(结束),,“二次”[],“凹”);…vco(罪(2 *π* t) (0.1 - 0.4) * fs, fs)};sds = signalDatastore(数据,“SampleRate”fs);
虽然数据存储数据,从信号数据存储和读取每个观察画出短时傅里叶变换。
plotID = 1;而hasdata (sds) [dataOut信息]=阅读(sds);次要情节(3 1 plotID) stft (dataOut info.SampleRate) plotID = plotID + 1;结束
创建信号数据存储
的文件夹数据集
包含信号样本包含在信号处理工具箱™。创建一个信号数据存储指向文件夹并设置采样率变量的名称。
文件夹=“数据集”;sds = signalDatastore(文件夹,SampleRateVariableName =“fs”);
第一个文件读取的数据存储和绘制光谱图。
(数据、信息)=阅读(sds);info.SampleRate pspectrum(数据,“声谱图”)
指定包含在信号数据存储文件扩展名
指定的文件夹,其中包含信号样本包含在信号处理工具箱™。中存储的信号. csv
,.dat
,.mat
文件。
文件夹=“healthdata”;
创建一个数据存储指向信号. csv
文件中指定的文件夹。情节的短时傅里叶变换的信号。
sds = signalDatastore(文件夹,FileExtensions =. csv”SignalVariableNames = (“tx”“x”]);data =阅读(sds);{2}stft(数据)
阅读与信号数据存储多个文件
指定的名字四个示例文件包含在信号处理工具箱™。
文件= [“INR.mat”,“relatedsig.mat”,“spots_num.mat”,“voice.mat”];
创建一个signalDatastore
对象包含指定的文件和设置ReadSize
财产2
从两个文件读取数据。每一个读
返回一个单元阵列的第一个细胞包含第一个变量的第一个文件阅读,和第二个单元格包含第一个变量从第二个文件。尽管数据存储数据,在每个显示读取的变量的名称读
。
sds = signalDatastore(文件、ReadSize = 2);而hasdata (sds)(数据、信息)=阅读(sds);流(“变量名:\ t % s \ n”info.SignalVariableNames)结束
变量名:日期变量名:s1变量名:变量名:fs
自定义从信号数据存储中读取数据
创建一个包含三个信号的信号数据存储包含在信号处理工具箱™。
的
strong.mat
文件包含三个变量:她的
,他
和fs
。的
slogan.mat
文件包含三个变量:hotword
,短语
和fs
。的
Ring.mat
文件包含两个变量:y
和Fs
。
每个文件包含多个变量的名称。每个文件的标量表示一个采样率。定义一个自定义的阅读功能,读取所有文件作为结构中的变量并返回的变量dataOut
和信息的变量infoOut
。的SampleRate
领域的infoOut
包含每个文件中包含的标量,dataOut
每个文件包含变量的读取。
函数[dataOut, infoOut] = MyCustomRead(文件名)fText = importdata(文件名);值= struct2cell (fText);dataOut = {};为i = 1:长度(值)如果isscalar(值{我})= = 1 infoOut。SampleRate价值= {};其他的dataOut{结束+ 1}={我}值;结束结束结束
文件= [“strong.mat”,“slogan.mat”,“Ring.mat”];sds = signalDatastore(文件、ReadFcn = @MyCustomRead);
尽管数据存储未读文件,读取数据存储和计算的短时傅里叶变换的信号。
而hasdata (sds)[数据,infoOut] =阅读(sds);fs = infoOut.SampleRate;图为i = 1:长度(数据)如果长度(数据)> 1次要情节(2,1,我)结束stft(数据{我},fs)结束结束
从文件读取多个变量信号数据存储
的数据集
文件夹包含示例文件包含在信号处理工具箱™。每个文件包含两个信号和一个随机的采样率fs
从3000到4000赫兹。
第一个信号,
x1
,是一个凸二次唧唧声。第二个信号,
x2
是唧唧喳喳的频率呈现正弦变化的内容。
文件夹=“数据集”;
创建一个点的信号数据存储到指定的文件夹并设置信号变量的名称和采样率。虽然数据存储数据,读取每个观察和想象每个信号的谱图。
sds = signalDatastore(文件夹,SignalVariableNames = (“x1”;“x2”),SampleRateVariableName =“fs”);tiledlayout流而hasdata (sds)(数据、信息)=阅读(sds);info.SampleRate nexttile pspectrum(数据{1},“声谱图”双侧= true) nexttile pspectrum(数据{2}、info.SampleRate“声谱图”双侧= true)结束
版本历史
介绍了R2020a
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国家网站不优化的访问你的位置。