文档帮助中心文档
matlab.io.datastore.sdidatastore
类:matlab.io.datastore.sdidatastore包:matlab.io.datastore
确定是否可以读取数据
tf = sdi_ds.hasdata
特遣部队= sdi_ds.hasdata返回逻辑1如果matlab.io.datastore.sdidatastore,sdi_ds,有可读数据。当sdi_ds没有可读取的数据,hasdata返回0.
特遣部队= sdi_ds.hasdata
特遣部队
1
sdi_ds
hasdata
0
全部展开
是否的逻辑指示matlab.io.datastore.sdidatastore有可读数据。如果有数据,特遣部队是1.当没有数据时,特遣部队是0.
一个matlab.io.datastore.sdidatastore引用仿真数据检查器存储库中的信号数据。当信号太大,无法装入内存时,可以使用matlab.io.datastore.sdidatastore手动递增处理数据或为信号创建一个高时间表,为您处理递增处理。这个例子展示了如何使用matlab.io.datastore.sdidatastore.
创建一个matlab.io.datastore.sdidatastore对一个信号
模拟sldemo_fuelsys模型,该模型被配置为记录多个信号,以便在Simulation data Inspector存储库中创建数据。
sldemo_fuelsys
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循环的条件,增量地处理整个信号。例如,查找最大信号值。
readData
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方法返回一个时间表所有的信号数据。
readall
时间表
speedTimetable = speedSDIds.readall;speedMax = max (speedTimetable.Data)
speedMax = 0.8897
您有这个示例的修改版本。您想打开这个示例与您的编辑吗?
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。金宝app
选择一个网站,在那里获得翻译的内容,并看到当地的活动和优惠。根据您的位置,我们建议您选择:.
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
与当地办事处联系