主要内容

预览

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

从数据存储返回的数据子集

语法

data =预览(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 = 金宝appSimulink.SimulationData.DatasetRef (“out.mat”,“sldemo_fuelsys_output”);

大数据预览

使用花括号({})提取信号元素燃料,这是第十个元素DSRef,作为一个金宝appSimulink.SimulationData.Signal对象,该对象包含一个SimulationDatastore对象。

SimDataSig = DSRef {10};

更容易与之交互SimulationDatastore对象驻留在财产的信号对象句柄存储在一个变量命名DStore

DStore = SimDataSig.Values;

使用预览方法检查前5的样品记录数据燃料信号。

预览(DStore)
ans = 10 x1 ______时间表时间数据* * * 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 1.0652 0.055328秒

检查特定的样本

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

设置ReadSize的属性DStore一个数字,考虑内存资源,你的电脑可以容忍。例如,设置ReadSize200年

DStore。ReadSize = 200;

从数据存储读取三次。每个读操作提出了阅读位置由200个样本。

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

现在你非常接近603样本,集ReadSize到一个更小的数字。例如,设置ReadSize5

DStore。ReadSize = 5;

从数据存储读取一次。

阅读(DStore)
ans = 5 x1时间表时间数据________ ________ 5.79秒1.6097 5.8秒1.6136 1.6003 - 5.82 5.81 1.5832 1.5904 5.83秒

第三个读取数据样本是603样本的数据存储。

检查样品早些时候

检查记录的403样品燃料数据。现在由于先前的读取操作,数据存储读取从606样品,所以你必须重置数据存储。然后,您可以读取第一个样本的403样品。

使用重置方法重置DStore

重置(DStore);

ReadSize200年一次。

DStore。ReadSize = 200;

从数据存储读取两次推进阅读位置的401样品。

读(DStore);读(DStore);

ReadSize5一次。

DStore。ReadSize = 5;

从数据存储读取。

阅读(DStore)
ans = 5 x1时间表时间数据在3.85秒0.999 3.86秒0.99219 0.98538 - 3.88 3.87 0.97179 0.97858 3.89秒

提取多个样品

抽取样本1001年到1020年(共20个样本)。

重置数据存储。

重置(DStore)

推进1001年样本。

DStore。ReadSize = 200;我= 1:5读(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 9.73秒1.5614 9.74秒1.5579 9.75秒1.5553 9.76秒1.5703 9.77秒1.582 9.78秒1.5913 1.5988 - 9.8 9.79 1.605 - 9.81 1.6184 - 9.84秒1.6101 9.82秒1.6145 - 9.83秒秒1.6049 9.85秒1.595 - 9.86秒1.5877 9.87秒1.5824 9.88秒1.5785 1.5757 9.89秒

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

重置数据存储。

重置(DStore)

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

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

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

runningMax
runningMax = 1.6423

版本历史

介绍了R2017a

另请参阅