文档帮助中心文档
类:matlab.io.datastore.SimulationDatastore包:matlab.io.datastore
重置数据存储到初始状态
重置(dst)
重置(dst)设置数据存储的读位置(matlab.io.datastore.SimulationDatastore指定的对象)dst到数据存储中的第一个示例。使用重置从数据存储器中重新读取数据。方法从数据存储中读取数据读方法。
重置(dst)
dst
matlab.io.datastore.SimulationDatastore
重置
读
全部展开
输入数据存储,指定为matlab.io.datastore.SimulationDatastore对象。创建一个SimulationDatastore对象,看到matlab.io.datastore.SimulationDatastore.
SimulationDatastore
这个例子展示了如何从模拟中记录大数据,并通过与matlab.io.datastore.SimulationDatastore对象。
从模型中记录大数据
打开示例模型sldemo_fuelsys.
sldemo_fuelsys
open_system (“sldemo_fuelsys”)
选择配置参数>数据导入导出>日志数据集到文件.
set_param (“sldemo_fuelsys”,“LoggingToFile”,“上”)
模拟模型。
sim卡(“sldemo_fuelsys”)
的MAT-fileout.mat出现在当前文件夹中。该文件包含记录信号的数据,例如燃料(它位于模型的根级别)。
out.mat
燃料
在命令提示符下,创建一个DatasetRef对象,该对象按名称引用日志记录变量,sldemo_fuelsys_output.
DatasetRef
sldemo_fuelsys_output
DSRef = 万博1manbetxSimulink.SimulationData.DatasetRef (“out.mat”,“sldemo_fuelsys_output”);
大数据预览
使用大括号({和})来提取信号元素燃料的第10个元素DSRef,作为一个万博1manbetxSimulink.SimulationData.Signal对象中包含SimulationDatastore对象。
{
}
DSRef
万博1manbetxSimulink.SimulationData.Signal
SimDataSig = DSRef {10};
更容易与。交互SimulationDatastore对象中驻留的值财产的信号对象,将句柄存储在名为DStore.
值
信号
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到一个数字,考虑到内存资源,您的计算机可以容忍。例如,设置ReadSize来200.
ReadSize
200
DStore。ReadSize = 200;
从数据存储中读取三次。每次读取操作将读取位置推进200个样本。
读(DStore);读(DStore);读(DStore);
现在你已经非常接近603个样本了,开始吧ReadSize一个更小的数。例如,设置ReadSize来5.
5
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);
集ReadSize来200一次。
从数据存储中读取两次,将读取位置提前到401样本。
读(DStore);读(DStore);
集ReadSize来5一次。
从数据存储中读取。
时间数据________ _______ 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
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
在数据存储中找到数据的最大值
写一个而循环,使用hasdata方法,以200个样本的块增量分析数据。
而
hasdata
DStore。ReadSize = 200;runningMax = [];而hasdata(DStore) tt = read(DStore);rawChunk = tt.Data;runningMax = max ([rawChunk;runningMax]);结束
现在,该变量runningMax在整个数据存储中存储最大值。
runningMax
runningMax = 1.6423
您已经有了这个示例的修改版本。要在编辑后打开此示例吗?
您点击了对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令运行该命令。Web浏览器不支持MATLAB命令。万博1manbetx
选择一个网站,在可用的地方获得翻译的内容,并查看当地的事件和提供。根据您所在的位置,我们建议您选择:.
您也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站表现。其他MathWorks国家网站不适合从您的位置访问。
联系当地办事处