Подготовьте матричные данные для Diagnostic Feature Designer

В этом примере показано, как подготовить матричные данные для импорта в Diagnostic Feature Designer. Вы проходите сначала через преобразование матрицы с одним членом и связанного с ней кода отказа в table. Затем вы комбинируете несколько таблиц в один ансамблевой стол, который можно импортировать как мультипредставитель ансамбль.

Diagnostic Feature Designer принимает данные представителей, которые содержатся в отдельных числовых матрицах. Однако таблицы представителей обеспечивают большую гибкость и простоту использования.

  • С помощью таблицы можно встраивать измерения как сигнальные переменные, каждая из которых содержит как независимую переменную, так и одну или несколько переменных данных. С помощью матрицы можно задать только одну независимую переменную, которая применяется ко всем столбцам данных. Приложение может легче интерпретировать данные таблицы.

  • С помощью таблицы можно задать информативные имена переменных. С помощью матрицы приложение использует номера столбцов для идентификации векторов данных.

  • С помощью таблицы можно включать скалярную информацию для каждого представителя, такого как переменные условия или функции. С помощью матрицы вы не можете объединить скалярную информацию с информацией о сигнале. Это ограничение означает, что вы не можете группировать данные по меткам в приложении и не можете оценить эффективность функции при разделении, скажем healthy данные от unhealthy данные.

Ансамблевая таблица еще проще в использовании, потому что она объединяет все таблицы представителей в один набор данных. Чтобы импортировать таблицу ансамбля, вы импортируете всего один элемент, вместо того, чтобы выбирать несколько элементов.

Загрузка матриц представителей и кодов отказа

Загрузите данные представителей и данные кода отказа. Данные представителя dmatall состоит из четырех наборов размеченных по времени измерений вибрации и тахометра, взятых на интервале 30 секунд. Эти матрицы представителей сложены вместе в матрицу 3-D. Независимый вектор кода отказа fc указывает, является ли каждый представитель из исправного (0) или нездоровый (1) система.

Инициализация tv_ensemble table, который в конечном счете включает как данные с меткой времени, так и код отказа для каждого представителя.

load tvmatrixmembers dmatall fc

Преобразуйте матрицу в таблицу

Начните с преобразования матрицы одного представителя в таблицу, которая содержит расписания для сигналов измерения и кода отказа представителя. Извлеките матрицу первого представителя из dmatall.

memmat = dmatall(:,:,1);

Первые два столбца memmat содержать измеренный сигнал вибрации. Третий и четвертый содержат измеренный сигнал тахометра. Каждый сигнал состоит из независимой переменной (времени) и переменной данных (вибрации или тахометрического измерения). Извлеките эти сигналы в независимые матрицы vibmat и tachmat .

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

Преобразуйте каждый сигнал в timetable. Во-первых, разделите каждый сигнал на его компоненты времени и данных. Используйте функцию seconds для преобразования временных меток в переменные длительности для расписания. Затем введите компоненты сигнала в array2timetable для преобразования сигналов в timetables vibtt и tachtt. Присвойте имя переменной Data в столбец данных. Расписание автоматически присваивает имя Time в столбец времени.

vibtime = seconds(vibmat(:,1));
vibdata = vibmat(:,2);
tachtime = seconds(tachmat(:,1));
tachdata = tachmat(:,2);
vibtt = array2timetable(vibdata,'RowTimes',vibtime,'VariableNames',{'Data'});
tachtt = array2timetable(tachdata,'RowTimes',tachtime,'VariableNames',{'Data'});

Извлеките код отказа faultcode от вектора кода отказа fc.

faultcode = fc(1);

Соберите таблицу представителей, которая содержит два расписания, скаляр кода отказа и описательные имена переменных.

memtable = table({vibtt},{tachtt},faultcode,'VariableNames',{'Vibration','Tacho','FaultCode'});

Теперь у вас есть таблица представителей, которую можно вставить в ансамблевую таблицу, содержащую несколько таблиц представителей. Инициализируйте таблицу ансамбля и вставьте первый представителя.

tv_ensemble_table = table();
tv_ensemble_table(1,:) = memtable
tv_ensemble_table=1×3 table
         Vibration                Tacho           FaultCode
    ___________________    ___________________    _________

    {30001x1 timetable}    {30001x1 timetable}        1    

Преобразование нескольких матриц представителей в ансамблевую таблицу

Можно повторить те же шаги обработки для всех матриц представителей, чтобы создать полную таблицу ансамбля. Можно также автоматизировать шаги обработки для каждой матрицы. Для этого сначала инициализируйте ансамблевую таблицу. Затем цикл через матрицы представителя, чтобы преобразовать представителей в таблицы и вставить их в ансамблевую таблицу.

Инициализация tv_ensemble_table.

tv_ensemble_table = table();

Цикл через последовательность преобразования и вставки

for idx = 1:size(dmatall,3)
    vibmat = dmatall(:,[1 2],idx);
    tachmat = dmatall(:,[3 4],idx);
vibtt = array2timetable(vibmat(:,2),'RowTimes',seconds(vibmat(:,1)),'VariableNames',{'Data'});
tachtt = array2timetable(tachmat(:,2),'RowTimes',seconds(tachmat(:,1)),'VariableNames',{'Data'});
tv_member = table({vibtt},{tachtt},fc(idx),'VariableNames',{'Vibration','Tacho','FaultCode'});
tv_ensemble_table(idx,:) = tv_member;
end

Вы создали единую ансамблевую таблицу. Каждая строка представляет один представитель, и каждый представитель состоит из двух расписаний, представляющих сигналы вибрации и тахометра и скалярный код отказа.

tv_ensemble_table
tv_ensemble_table=4×3 table
         Vibration                Tacho           FaultCode
    ___________________    ___________________    _________

    {30001x1 timetable}    {30001x1 timetable}        1    
    {30001x1 timetable}    {30001x1 timetable}        0    
    {30001x1 timetable}    {30001x1 timetable}        1    
    {30001x1 timetable}    {30001x1 timetable}        0    

Можно импортировать эту таблицу ансамбля в Diagnostic Feature Designer, нажав кнопку New Session и выбрав DataTable на панели «Выбор дополнительных переменных».

См. также

| | |

Похожие темы