主要内容

重置

类:matlab.io.datastore.SimulationDatastore
包:matlab.io.datastore

重置数据存储到初始状态

语法

重置(dst)

描述

重置(dst设置数据存储的读位置(matlab.io.datastore.SimulationDatastore指定的对象)dst到数据存储中的第一个示例。使用重置从数据存储器中重新读取数据。方法从数据存储中读取数据方法。

输入参数

全部展开

输入数据存储,指定为matlab.io.datastore.SimulationDatastore对象。创建一个SimulationDatastore对象,看到matlab.io.datastore.SimulationDatastore

例子

全部展开

这个例子展示了如何从模拟中记录大数据,并通过与matlab.io.datastore.SimulationDatastore对象。

从模型中记录大数据

打开示例模型sldemo_fuelsys

open_system (“sldemo_fuelsys”

选择配置参数>数据导入导出>日志数据集到文件

set_param (“sldemo_fuelsys”“LoggingToFile”“上”

模拟模型。

sim卡(“sldemo_fuelsys”

的MAT-fileout.mat出现在当前文件夹中。该文件包含记录信号的数据,例如燃料(它位于模型的根级别)。

在命令提示符下,创建一个DatasetRef对象,该对象按名称引用日志记录变量,sldemo_fuelsys_output

DSRef = 万博1manbetxSimulink.SimulationData.DatasetRef (“out.mat”“sldemo_fuelsys_output”);

大数据预览

使用大括号()来提取信号元素燃料的第10个元素DSRef,作为一个万博1manbetxSimulink.SimulationData.Signal对象中包含SimulationDatastore对象。

SimDataSig = DSRef {10};

更容易与。交互SimulationDatastore对象中驻留的财产的信号对象,将句柄存储在名为DStore

DStore = SimDataSig.Values;

使用预览方法以检查前5个样本的日志数据为依据燃料信号。

预览(DStore)
时间数据______________ ______ 0秒1.209 0.00056199秒1.209 0.0033719秒1.209 0.01秒1.1729 0.02秒1.1409 0.03秒1.1124 0.04秒1.0873 0.05秒1.0652 0.055328秒1.0652 0.055328秒1.0652

检查特定的样本

检查记录的603个样本燃料数据。

设置ReadSize的属性DStore到一个数字,考虑到内存资源,您的计算机可以容忍。例如,设置ReadSize200

DStore。ReadSize = 200;

从数据存储中读取三次。每次读取操作将读取位置推进200个样本。

读(DStore);读(DStore);读(DStore);

现在你已经非常接近603个样本了,开始吧ReadSize一个更小的数。例如,设置ReadSize5

DStore。ReadSize = 5;

再次从数据存储中读取。

阅读(DStore)
时间数据________ ______ 5.79秒1.6097 5.8秒1.6136 5.81秒1.6003 5.82秒1.5904 5.83秒1.5832

读数据的第三个示例是数据存储中的第603个示例。

检查样品早些时候

检查记录的第403个样本燃料数据。由于之前的读取操作,数据存储现在从606示例开始读取,因此必须重置数据存储。然后,您可以从第一个样本读取到第403个样本。

使用重置方法重置DStore

重置(DStore);

ReadSize200一次。

DStore。ReadSize = 200;

从数据存储中读取两次,将读取位置提前到401样本。

读(DStore);读(DStore);

ReadSize5一次。

DStore。ReadSize = 5;

从数据存储中读取。

阅读(DStore)
时间数据________ _______ 3.85秒0.999 3.86秒0.99219 3.87秒0.98538 3.88秒0.97858 3.89秒0.97179

提取多个样品

提取样本1001到1020(总共20个样本)。

重置数据存储。

重置(DStore)

提前到样本1001。

DStore。ReadSize = 200;i = 1:5 read(DStore);结束

准备从数据存储中提取20个样本。

DStore。ReadSize = 20;

提取样本1001到1020。将提取的数据存储在一个名为targetSamples

targetSamples =阅读(DStore)
targetSamples = 20 x1时间表时间数据  ________ ______ 9.7秒1.5828 9.71秒1.5733 9.72秒1.5664 1.5614 - 9.74 9.73 1.5579 - 9.75 1.582 - 9.78秒1.5553 9.76秒1.5703 - 9.77秒秒1.5913 9.79秒1.5988 - 9.8秒1.605 9.81秒1.6101 9.82秒1.6145 9.83秒1.6184 9.84秒1.6049 9.85秒1.595 9.86秒1.5877 9.87秒1.5824 9.88秒1.5785 9.89 SEC

在数据存储中找到数据的最大值

重置数据存储。

重置(DStore)

写一个循环,使用hasdata方法,以200个样本的块增量分析数据。

DStore。ReadSize = 200;runningMax = [];hasdata(DStore) tt = read(DStore);rawChunk = tt.Data;runningMax = max ([rawChunk;runningMax]);结束

现在,该变量runningMax在整个数据存储中存储最大值。

runningMax
runningMax = 1.6423

另请参阅

介绍了R2017a