主要内容

readall

类:matlab.io.datastore.sdidatastore
包:matlab.io.datastore

从sdidatastore中读取所有数据

语法

data = sdi_ds.readall

描述

数据= sdi_ds.readall读取的所有数据matlab.io.datastore.sdidatastoresdi_ds,变成了记忆,回归了时间表数据.使用readall只有当信号被引用时matlab.io.datastore.sdidatastore适合到内存中。

输出参数

全部展开

所有的数据matlab.io.datastore.sdidatastore,返回时间表

例子

全部展开

一个matlab.io.datastore.sdidatastore引用仿真数据检查器存储库中的信号数据。当信号太大,无法装入内存时,可以使用matlab.io.datastore.sdidatastore手动递增处理数据或为信号创建一个高时间表,为您处理递增处理。这个例子展示了如何使用matlab.io.datastore.sdidatastore

创建一个matlab.io.datastore.sdidatastore对一个信号

模拟sldemo_fuelsys模型,该模型被配置为记录多个信号,以便在Simulation data Inspector存储库中创建数据。

sim卡(“sldemo_fuelsys”

使用仿真数据检查器编程接口来获取信号的信号ID。

runCount = 金宝appSimulink.sdi.getRunCount;latestRunID = 金宝appSimulink.sdi.getRunIDByIndex (runCount);latestRun = 金宝appSimulink.sdi.getRun (latestRunID);speedSigID = latestRun.getSignalIDByIndex (4);

使用信号ID创建一个matlab.io.datastore.sdidatastore速度信号。

speedSDIds = matlab.io.datastore.sdidatastore (speedSigID);

验证数据存储的内容

检查的名字财产的matlab.io.datastore.sdidatastore来验证它是否符合你的期望。

speedSDIds。的名字
ans =“地图”

你也可以用the预览方法来检查信号的前十个样本看起来是正确的。

speedSDIds.preview
ans =10×1的时间表时间数据______________ _______ 0 sec 0.589 0.00056199 sec 0.58772 0.0033719 sec 0.58148 0.01 sec 0.56765 0.02 sec 0.54897 0.03 sec 0.53264 0.04 sec 0.51837 0.05 sec 0.50594 0.055328 sec 0.5 0.055328 sec 0.5

处理信号数据matlab.io.datastore.sdidatastore

当信号太大,无法装入内存时,你可以使用readData方法从Simulation data Inspector存储库读取数据块,以增量地处理数据。使用hasdata方法作为一个while循环的条件,增量地处理整个信号。例如,查找最大信号值。

latestMax = [];speedSDIds。hasdata速度Chunk = speedSDIds.read; speedChunkData = speedChunk.Data; latestMax = max([speedChunkData; latestMax]);结束latestMax
latestMax = 0.8897

在每个读操作中方法更新下一个读操作开始时的读位置。读完部分或全部的matlab.io.datastore.sdidatastore时,可复位读数位置,从信号开始重新开始。

speedSDIds.reset

处理内存中的信号数据

当信号被你引用matlab.io.datastore.sdidatastore装入内存,就可以使用了readall方法将所有的信号数据读入内存进行处理,而不是用增量的方式读取和处理数据方法。的readall方法返回一个时间表所有的信号数据。

speedTimetable = speedSDIds.readall;speedMax = max (speedTimetable.Data)
speedMax = 0.8897

选择

当信号适合内存时,可以使用Simulation Data Inspector编程接口的其他类和函数,如金宝appSimulink.sdi.Signal类,以访问和处理模拟数据。

介绍了R2017b