主要内容

矩阵数据准备诊断功能设计

这个例子展示了如何准备矩阵数据导入诊断功能设计。你先一步通过转换成一个单一矩阵及其相关的故障代码。然后,您将多个表合并到一个合奏表,您可以导入顺利合奏。

诊断功能设计接受会员个人数字矩阵中包含的数据。但是,成员表提供更大的灵活性和易用性。

  • 有一个表,你可以嵌入你的测量信号变量,每个包含一个独立变量和一个或多个数据变量。与一个矩阵,可以指定只有一个自变量,适用于所有的列数据。应用程序可以更容易地解释表数据。

  • 与一个表,您可以指定的变量名。与一个矩阵,应用程序使用列数字标识数据向量。

  • 使用一个表,您可以为每个成员包括标量信息,如条件变量或特性。与一个矩阵,你不能把标量信息与信号的信息。这种限制意味着你不能组数据标签的应用,有效分离,无法评估功能,说,健康的数据从不健康的数据。

一个表是更容易使用,因为它结合了所有成员表到一个数据集。导入一个表,您导入一个项目,而不是需要选择多个项目。

负载成员矩阵和故障代码

加载数据和故障代码的数据成员。会员数据dmatall由四组时间戳振动和转速表测量了30秒的间隔。这些成员矩阵堆叠在一起,一个三维矩阵。一个独立的故障代码向量足球俱乐部显示每个成员是否从一个健康的(0)或不健康(1)系统。

初始化tv_ensemble表,最终包括time-tagged数据和每个成员的错误代码。

负载tvmatrixmembersdmatall足球俱乐部

一个矩阵转换为一个表

首先将单个成员矩阵转换为一个表,其中包含时间表测量信号和故障代码。提取矩阵的第一个成员dmatall

memmat = dmatall (:: 1);

的前两列memmat包含测量振动信号。第三和第四包含测量转速计的信号。每个信号由一个独立的变量(时间)和数据变量(振动或转速计测量)。这些信号提取到独立的矩阵vibmattachmat

vibmat = memmat (:, (1 2));tachmat = memmat (: [3 - 4]);

每个信号转换成一个时间表。首先,独立的每个信号在时间和数据组件。使用的函数时间戳转换为时间变量的时间表。然后输入信号组件array2timetable将信号转换成时间表vibtttachtt。分配的变量名称数据数据列。时间表自动分配这个名字时间时间列。

vibtime =秒(vibmat (: 1));vibdata = vibmat (:, 2);tachtime =秒(tachmat (: 1));tachdata = tachmat (:, 2);vibtt = array2timetable (vibdata,“RowTimes”vibtime,“VariableNames”,{“数据”});tachtt = array2timetable (tachdata,“RowTimes”tachtime,“VariableNames”,{“数据”});

提取故障代码faultcode从故障代码向量足球俱乐部

faultcode = fc (1);

组合成员表包含两个时间表,故障代码标量和描述性的变量名。

memtable =表(faultcode {vibtt}, {tachtt},“VariableNames”,{“振动”,转速计的,“FaultCode”});

你现在有一个成员表,您可以插入一个表,其中包含多个成员表。初始化套表并插入第一个成员。

tv_ensemble_table =表();tv_ensemble_table (1) = memtable
tv_ensemble_table =1×3表振动转速计FaultCode ___________________ ___________________ _____ {30001 x1时间表}{30001 x1时间表}1

多个成员矩阵转化为合奏表

你可以在所有成员重复相同的处理步骤矩阵创建完整的合奏表。你也可以自动处理步骤为每个矩阵。要做到这一点,首先初始化一个表。然后遍历矩阵转换成员成员表,并将它们插入到集合表。

初始化tv_ensemble_table

tv_ensemble_table =表();

通过转换和插入顺序循环

idx = 1:尺寸(dmatall, 3) vibmat = dmatall (:, (1 2) idx);tachmat = dmatall (: [3 - 4], idx);vibtt = array2timetable (vibmat (:, 2),“RowTimes”秒(vibmat (: 1)),“VariableNames”,{“数据”});tachtt = array2timetable (tachmat (:, 2),“RowTimes”秒(tachmat (: 1)),“VariableNames”,{“数据”});tv_member =表({vibtt}, {tachtt}, fc (idx),“VariableNames”,{“振动”,转速计的,“FaultCode”});tv_ensemble_table (idx:) = tv_member;结束

您已经创建了一个集合表。每一行代表一个成员,每个成员包括两个时间表代表振动和转速计的信号,和标量故障代码。

tv_ensemble_table
tv_ensemble_table =4×3表振动转速计FaultCode ___________________ ___________________ _____ {30001 x1时间表}{30001}x1时间表1 x1时间表}{30001}{30001 x1时间表0 x1时间表}{30001}{30001 x1时间表1 x1时间表}{30001}{30001 x1时间表0

你可以这个乐团表导入诊断功能设计通过点击新会话并选择数据表选择更多的变量窗格。

另请参阅

|||

相关的话题