hasdata
班级:matlab.io.datastore.sdidatastore
包裹:matlab.io.datastore
确定数据是否可读取
句法
tf = sdi_ds.hasdata
描述
返回逻辑TF
= sdi_ds.hasdata1
如果是matlab.io.datastore.sdidatastore
,,,,SDI_DS
,有可读取的数据。什么时候SDI_DS
does not have data available to read,hasdata
返回0
。
输出参数
TF
- 数据可用性指示
逻辑
逻辑指示是否matlab.io.datastore.sdidatastore
具有可读取的数据。当数据可用时TF
是1
。当数据不可用时TF
是0
。
例子
使用A的处理信号数据matlab.io.datastore.sdidatastore
一个matlab.io.datastore.sdidatastore
引用在仿真数据检查器存储库中信号数据。当信号太大而无法适应内存时,您可以使用matlab.io.datastore.sdidatastore
为了逐步处理数据或为您为您处理增量处理的信号创建一个高时间表。此示例显示了如何使用一个matlab.io.datastore.sdidatastore
。
创建一个matlab.io.datastore.sdidatastore
用于信号
模拟sldemo_fuelsys
模型配置为记录几个信号,以在仿真数据检查器存储库中创建数据。
sim('sldemo_fuelsys')
使用Simulation Data Inspector programmatic interface to get the signal ID for the signal.
runcount 万博1manbetx= simulink.sdi.getRuncount;latestrunid = 万博1manbetxsimulink.sdi.getRunidByIndex(runcount);latestrun = 万博1manbetxsimulink.sdi.getrun(latestrunid);speedsigid = latestrun.getSignalidByIndex(4);
使用信号ID创建一个matlab.io.datastore.sdidatastore
for the速度
信号。
speedsdids = matlab.io.datastore.sdidatastore(speedsigid);
验证数据存储的内容
检查姓名
property of thematlab.io.datastore.sdidatastore
验证它是否与您的期望相匹配。
速度SDIds.Name
ans = 'map'
您也可以使用预习
方法检查的第十个样品signal look correct.
speedsdids.preview
ans =10×1时间表Time Data ______________ _______ 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
从模拟数据检查器存储库中读取大量数据以逐步处理您的数据的方法。使用hasdata
方法作为一段时间循环的条件,可以逐步处理整个信号。例如,找到最大信号值。
最新max= [];尽管速度SDIds.hasdata speedChunk = speedSDIds.read; speedChunkData = speedChunk.Data; latestMax = max([speedChunkData; latestMax]);结尾最新max
最新max = 0.8897
在每个读取操作中,读
方法更新下一个读取操作的开始的读取位置。阅读了一些或全部matlab.io.datastore.sdidatastore
,您可以重置读取位置以从信号开头重新开始。
speedsdids.reset
记忆中的过程信号数据
当您引用的信号matlab.io.datastore.sdidatastore
适合记忆,您可以使用读取
method to read all the signal data into memory for processing, rather than reading and processing the data incrementally with the读
方法。这读取
method returns a时间表
使用所有信号数据。
speedtimetable = speedsdids.readall;speedmax = max(speedtimetable.data)
SpeedMax = 0.8897
版本历史记录
matlab命令
您单击了与此MATLAB命令相对应的链接:
通过在MATLAB命令窗口中输入该命令。Web浏览器不支持MATLAB命令。万博1manbetx
您还可以从以下列表中选择一个网站:
如何获得最佳网站性能
选择中国网站(中文或英语)以获得最佳场地性能。其他Mathworks乡村网站未针对您所在的访问进行优化。
美洲
- 一个mérica Latina(Español)
- 加拿大(英语)
- 美国(英语)