Этот пример иллюстрирует некоторые основные команды, используемые в коде, который генерирует Diagnostic Feature Designer. В примере показано, как использовать эти команды, чтобы создать ансамбль рабочей области из таблицы, выполнить расчеты по членам для новой возможности и создать таблицу функций и ансамблевую таблицу из ансамбля рабочей области.
Взаимодействие с ансамблем рабочей области подобно взаимодействию с файлом ансамблем datastore или симуляцией ансамблем datastore. Многие команды одинаковы. В отличие от ансамблевых хранилищ данных, которые позволяют взаимодействовать с внешними файлами, ансамбль datastore рабочей области позволяет взаимодействовать с данными в памяти.
Создайте ансамбль рабочей области из таблицы
Загрузите ансамблевую таблицу dataTable
, который содержит 16 представителей, каждый из которых содержит расписания с данными о вибрации и тахометре наряду с кодом скалярного отказа.
Создайте ансамбль рабочей области wensemble
от dataTable
, определение переменных данных и переменных условий, соответствующих переменным в dataTable
.
wensemble =
workspaceEnsemble with properties:
DataVariables: [2x1 string]
IndependentVariables: [0x0 string]
ConditionVariables: "faultCode"
SelectedVariables: [3x1 string]
ReadSize: 1
NumMembers: 16
LastMemberRead: [0x0 string]
Обработка данных и извлечение функций требуют только Vibration
и Tacho
. Задайте SelectedVariables
содержать Vibration
и Tacho
.
Вычисление среднего сигнала вибрации для первого представителя ансамбля
Среднее значение сигнала вибрации представляет скалярную функцию для каждого представителя. Вычислите эту функцию для первого представителя, используя подход, который масштабируется до цикла, который обрабатывает несколько представители.
Сбросьте ансамбль и прочтите первого представителя.
m=1×2 table
Vibration Tacho
__________________ __________________
{6000x1 timetable} {6000x1 timetable}
Извлеките данные о вибрации из расписания.
Вычислите среднее значение вибрации.
Добавьте результаты к таблице представителей m
.
m=1×3 table
Vibration Tacho Data_Mean
__________________ __________________ _________
{6000x1 timetable} {6000x1 timetable} 0.021809
Добавление новой возможности к переменным Ensemble
Включение обновлённого представителя в wensemble
необходимо сначала задать новую Data_Mean
функция как ансамблевая переменная. Добавить Data_Mean
к набору переменных данных ансамбля dv
использование записи через точку.
Добавьте обновленную таблицу представителей в ансамбль рабочей области
Добавьте обновленную таблицу представителей в ансамбль с помощью writeToLastMemberRead
команда.
Цикл через оставшиеся представители ансамбля
Выполните те же шаги для остальных представителей ансамбля.
Создайте таблицу функций и ансамблевую таблицу из ансамбля рабочей области
Извлеките таблицу функций из wensemble
с readFeatureTable
команда. Просмотрите первые три строки.
ans=3×2 table
faultCode Data_Mean
_________ __________
0 0.021809
1 -0.0092964
1 -0.46431
Таблица функций содержит переменную условия FaultCode
и переменной данных Data_Mean
.
Установите SelectedVariables
свойство, чтобы включать все переменные, чтобы получившаяся ансамблевая таблица содержала всю вашу информацию.
wensemble =
workspaceEnsemble with properties:
DataVariables: [3x1 string]
IndependentVariables: [0x1 string]
ConditionVariables: "faultCode"
SelectedVariables: [4x1 string]
ReadSize: 1
NumMembers: 16
LastMemberRead: [0x0 string]
Используйте команду datastore readall
для преобразования ансамбля рабочей области в ансамблевую таблицу.
tensemble=16×4 table
Vibration Tacho Data_Mean faultCode
__________________ __________________ __________ _________
{6000x1 timetable} {6000x1 timetable} 0.021809 0
{6000x1 timetable} {6000x1 timetable} -0.0092964 1
{6000x1 timetable} {6000x1 timetable} -0.46431 1
{6000x1 timetable} {6000x1 timetable} 0.4922 1
{6000x1 timetable} {6000x1 timetable} 0.3923 1
{6000x1 timetable} {6000x1 timetable} -0.12383 1
{6000x1 timetable} {6000x1 timetable} 0.42548 1
{6000x1 timetable} {6000x1 timetable} -0.4598 1
{6000x1 timetable} {6000x1 timetable} 0.062685 0
{6000x1 timetable} {6000x1 timetable} 0.059155 0
{6000x1 timetable} {6000x1 timetable} 0.037965 0
{6000x1 timetable} {6000x1 timetable} 0.53982 1
{6000x1 timetable} {6000x1 timetable} 0.52377 1
{6000x1 timetable} {6000x1 timetable} 1.0357 1
{6000x1 timetable} {6000x1 timetable} 1.0592 1
{6000x1 timetable} {6000x1 timetable} -0.94084 1
Таблица включает исходные сигналы и новую возможность.