主要内容

工作空间素质

管理存储在中的集合数据MATLAB工作区使用诊断功能设计器生成的代码

描述

一种工作空间素质对象是一个专门用于由生成的代码使用的合奏对象诊断特征设计师.的工作空间素质对象类似于fillensembledataStore.对象,正如在合奏中指定数据变量,独立变量和条件变量一样。但是,与文件集合数据存储不同,工作空间合奏在内存中的数据上运行,而不是在外部文件中运行。

当您将表格或单元格数组导入应用程序并在完成交互功能设计后生成代码时,该代码包括创建工作空间集合。这个集成包含与初始导入中相同的变量,并且可以管理包含相同变量的任何输入数据集。例如,假设您将一个20个成员的表导入应用程序,提取一个特性,并生成一个函数。该函数中的工作空间集成与2000个成员的表兼容,只要该表包含相同的变量。

有关数据集成的更多信息,请参见条件监控和预测维护的数据集合

创建

描述

Wsysemble.= WorkspaceSenseMble(名称,值)创造一个空的东西工作空间素质目的Wsysemble.使用由名称-值对参数指定的属性。

例子

Wsysemble.= workspaceEnsemble (数据、名称、值)创建一个工作空间素质目的Wsysemble.从数据集数据

输入参数

全部展开

输入数据集,指定为表或表的单元格数组。

  • 如果数据是表,每行代表一个集合成员的数据。

  • 如果数据是表的单元格数组,单元格中的每个表表示一个集成成员的数据。

属性

全部展开

合奏中的数据变量,指定为字符串或单元格数组。数据变量是集合成员的主要内容。数据变量可以包括测量数据或派生数据。例如,您的数据变量可以包括测量的振动或模拟振动信号和导出的值,例如平均振动值或峰值振动频率。

例子:outputsemble = workspaceensemble(inputdata,'datavariables',[“振动”;“tacho”)

合奏中的独立变量,指定为字符串或单元格数组。通常,独立变量顺序排列集合的成员。示例是时间戳或操作周期数。

例子:outputsemble = workspaceensemble(inputdata,'独立variables',“time”)

合奏中的条件变量,指定为字符串或单元格数组。条件变量根据收集组合成员的故障条件或其他操作条件标记集合中的成员。

例子:outputsenemble = workspaceensemble(inputdata,'sitientvariables',“FaultCode”)

要从集合中读取的变量,指定为字符串或单元格数组。选择了varialbles.识别哪些变量数据阅读并操作

例子:outputsemble.selectedvariables = [“振动”,“tacho”]

控件时要从工作空间集合中一次性读取的成员数量命令,指定为正整数,小于集合中成员总数。默认情况下,命令返回包含来自一个集成成员的数据的单行表。从单个成员中读取数据操作时,将此属性设置为大于1的整数值。例如,如果ReadSize是3,然后返回一个三行表,其中每行包含来自不同集成成员的数据。如果少于ReadSize成员是未读的,然后随着剩余成员返回具有多个行的表。

改变了ReadSize属性还将集合重置为未读状态。例如,假设您设置了ReadSize1一次读取一些合奏成员,然后更改ReadSize3..下一个操作从前三个集合成员返回数据。

对象功能

刷新 使用在并行处理中计算的修改或添加的数据的分区更新工作空间集合
编写纪念日 将数据写入特定的工作空间集成成员
readmember 基于成员索引返回集合成员数据
findIndex 为匹配指定变量名和值的成员查找工作区集成成员索引

例子

全部收缩

创建一个工作空间素质来自集合表的对象并读取其内容。

加载合奏表数据表并查看前三名成员。

加载dfd_Tutorial数据表头(DataTable,3)
ans =3×3表振动Tacho Fairmcode __________________ _________ {6000x1时间表} {6000x1时间表} {6000x1时间表} 1 {6000x1时间表} {6000x1时间表} 1

该表包含16个成员,每个成员包含具有振动和Tacho数据的时间表以及标量故障代码。

创建工作空间集合

创建工作空间集合三思数据表

wensemble = workspaceensemble(DataTable,'datavariables',[“振动”;“Tacho”],......'条件variables'“FAURORCODE”
wessemble = workspace susemble with属性:datavariables:[2x1字符串]独立variables:[0x0字符串]条件variables:“FaultCode”选择了variables:[3x1字符串] readsize:1 nummembers:16 lastmemberread:[0x0字符串]

确认数据条件变量选择。

dv = wensemble.datavariables.
dv =2 x1字符串“振动”“Tacho”
cv = wensemble.conditionvarialbles.
cv =“FaultCode”

阅读工作区合奏成员

检查工作空间集成中的前两个成员的数据变量。

默认情况下,读取合奏返回所有合奏变量。要选择要读取的变量子集,请指定选择了varialbles.

wensemble。选择edVariables = [“振动”“Tacho”];

采用获取下一个未读成员的内容。每次阅读会员时,软件都会标记为读取的成员,然后命令返回以下成员。你可以用一连串的命令通过合并循环。从第一个成员开始,使用重置

重置(Wensemble)M1 =读取(Wensemble)
m1 =1×2表振动tacho __________________ __________________ {6000x1时间表} {6000x1时间表}
m2 =读取(Wensemble);

M1M2都是包含振动和Tacho数据的表。M1包含第一个成员的数据。M2包含第二个成员的数据。

检查两个成员的振动样品。提取振动信号M1M2并显示每个信号的前三个样本。

m1vib = readmemberdata(m1,'振动');m2vib = readmemberdata(m2,'振动');头(m1vib, 3)
ans =3×1时间表时间数据  _________ ________ 0秒-0.66925 - 0.005秒-0.61623 -0.56666 0.01秒
头(M2VIB,3)
ans =3×1时间表时间数据_________ _______ 0秒-1.6231 0.005秒-1.5892 0.01秒-1.5534

每个命令返回一个唯一的结果。

此示例说明了代码中使用的一些基本命令诊断特征设计师生成的。该示例展示了如何使用这些命令从一个表创建一个工作空间集成,为一个新特性执行逐个成员的计算,并从工作空间集成创建一个特性表和一个集成表。

与Workspace集合进行交互类似于与文件集合数据存储或模拟集合数据存储相互作用。许多命令都是一样的。与允许与外部文件交互的集合数据存储不同,工作空间集合数据存储支持与内存中的数据进行交互。

从表中创建工作空间合奏

加载合奏表数据表,其中包含16个成员,每个成员包含具有振动和Tacho数据的时间表以及标量故障代码。

加载dfd_Tutorial数据表

创建工作空间集合三思数据表,指定与变量相对应的数据变量和条件变量数据表

wensemble = workspaceensemble(DataTable,'datavariables',[“振动”;“Tacho”],......'条件variables'“FAURORCODE”
wessemble = workspace susemble with属性:datavariables:[2x1字符串]独立variables:[0x0字符串]条件variables:“FaultCode”选择了variables:[3x1字符串] readsize:1 nummembers:16 lastmemberread:[0x0字符串]

处理数据和提取功能只需要振动Tacho..指定选择了varialbles.包含振动Tacho.

wensemble。选择edVariables = [“振动”“Tacho”];

对第一集合构件的振动信号的计算平均值

振动信号的平均值表示每个成员的标量特征。使用缩放到处理多个成员的循环的方法来计算第一个成员的此功能。

重置合奏并读取第一个成员。

Reset (wensemble) m = read(wensemble)
m =1×2表振动tacho __________________ __________________ {6000x1时间表} {6000x1时间表}

从时间表中提取振动数据。

mvibd = readmemberdata(m,'振动'“数据”);

计算振动的平均值。

m_mean =均值(mvibd)
m_mean = 0.0218

将结果附加到成员表m

m = [m,表(m_mean,'variablenames'“data_mean”
m =1×3表振动转速计Data_Mean  __________________ __________________ _________ { 6000} {6000} x1时间表0.021809 x1时间表

将新功能添加到合奏变量

将更新的成员合并到三思,则必须首先指定newdata_mean.功能作为集合变量。添加data_mean.到集合数据变量集DV.使用点符号。

dv = wensemble.DataVariables;wensemble。DataVariables = [dv;“data_mean”];

附加更新的成员表到工作区集合

将更新的成员表附加到Ensemble使用WriteTolastmemberread.命令。

WriteTolastmemberRead(Wensemble,M)

循环通过剩余的集合成员

对其余的集成成员执行相同的特定于成员的步骤。

尽管hasdata(wensemble)m =读取(wensemble);mvibd = readmemberdata(m,'振动'“数据”);m_mean =均值(mvibd);m = [m,表(m_mean,'variablenames'“data_mean”)];WriteTolastmemberRead(Wensemble,M)结尾

从工作区集合创建要素表和合奏表

从中提取要素表三思与之readfeturetable.命令。查看前三行。

ft = readmeaturetable(wensemble);头(FT,3)
ans =3×2表faultCode Data_Mean  _________ __________ 0 -0.46431 0.021809 -0.0092964 1

特性表包含条件变量FAULTCODE.和数据变量data_mean.

设置选择了varialbles.属性包含所有变量,以便生成的合奏表包含所有信息。

wensemble。选择edVariables = [“振动”;“Tacho”;“data_mean”;“FAURORCODE”]
wensemble = workspaceEnsemble with properties: DataVariables: [3x1 string] IndependentVariables: [0x1 string] ConditionVariables: "faultCode" SelectedVariables: [4x1 string] ReadSize: 1 NumMembers: 16 LastMemberRead: [0x0 string]

使用datastore命令读物将Workspace合并转换为合并表。

tensemble = readall(wensemble)
Tensemble =.16×4表振动测速Data_Mean的faultcode __________________ __________________ __________ _________ {6000x1时间表} {6000x1时间表} 0.021809 0 {6000x1时间表} {6000x1时间表} -0.0092964 1 {6000x1时间表} {6000x1时间表} -0.46431 1 {6000x1时间表} {6000x1时间表} 0.4922 1{6000x1时间表} {6000x1时间表} {6000x1时间表} -0.12383 1 {6000x1时间表} {6000x1时间表} 0.42548 1 {6000x1时间表} {6000x1时间表} -0.4598 1 {6000x1时间表} {6000x1时间表}0.062685 0 {6000x1时间表} 0.059155 0 {6000x1时间表} 0.037965 0 {6000x1时间表} {6000x1时间表} 0.53982 1 {6000x1时间表} {6000x1时间表} 0.52377 1 {6000x1时间表} {6000x1时间表} {6000x1时间表}1.0357 1 {6000x1时间表} {6000x1时间表} 1.0592 1 {6000x1时间表} {6000x1时间表} -0.94084 1

该表包含了原始信号和新特性。

在R2020A中介​​绍