В этом примере показаны некоторые основные команды, используемые в коде, создаваемом конструктором диагностических функций. В примере показано, как использовать эти команды для создания ансамбля рабочей области из таблицы, выполнения вычислений по элементам для нового элемента и создания таблицы элементов и таблицы ансамбля из ансамбля рабочей области.
Взаимодействие с ансамблем рабочего пространства аналогично взаимодействию с хранилищем данных файлового ансамбля или хранилищем данных симуляционного ансамбля. Многие команды одинаковы. В отличие от хранилищ данных ансамбля, которые позволяют взаимодействовать с внешними файлами, хранилище данных ансамбля рабочей области позволяет взаимодействовать с данными в памяти.
Создание ансамбля рабочей области из таблицы
Загрузить таблицу ансамбля 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
Добавление новой функции в переменные ансамбля
Включение обновленного элемента в 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
Таблица содержит исходные сигналы и новую функцию.