В Diagnostic Feature Designer функции исследуются в интерактивном режиме с помощью инструментов для обработки сигналов, создания функций и ранжирования. После определения наиболее эффективных функций можно создать код, воспроизводящий интерактивные вычисления и позволяющий автоматизировать извлечение элементов на основе аналогичных входных данных. Выберите функции, вычисленные переменные и таблицы ранжирования, чтобы указать, что включает код.
Созданный код позволяет:
Примените код непосредственно к большему набору данных измерений, включающему больше элементов, и, следовательно, увеличьте число элементов в наборе элементов. Использование большего числа участников улучшает обучение модели в Classification Learner.
Измените функцию в соответствии с приложением. Например, можно добавить обработку сигналов или функции, недоступные в конструкторе диагностических функций.
Включите части функции в другой набор кода, который вы разрабатываете.
Самый простой способ создания кода для автоматического извлечения элементов - использовать кнопку Экспорт (Export) на вкладке Конструктор элементов (Feature Designer) и выбрать Генерировать функцию (Generate Function) для элементов (Features).

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

Можно создать код для всех функций или, если выполнено ранжирование, выбрать количество функций верхнего ранга для включения. Если ранжирование выполнено, можно также создать функцию с помощью кнопки Экспорт на закладке Ранжирование элементов. Сгенерированный код включает в себя вычисления для любых вычисленных сигналов или спектров, которые требуются для признака. Код включает в себя преамбулу, которая суммирует вычисления, которые выполняет код.
%DIAGNOSTICFEATURES recreates results in Diagnostic Feature Designer. % % Input: % inputData: A table or a cell array of tables/matrices containing the % data as those imported into the app. % % Output: % featureTable: A table containing all features and condition variables. % outputTable: A table containing the computation results. % % This function computes signals: % Vibration_tsa/Data % % This function computes features: % Vibration_stats/Data_ImpulseFactor % Vibration_stats/Data_Mean % Vibration_stats/Data_ShapeFactor % Vibration_stats/Data_Std % Vibration_tsa_rotmac/Data_RMS % Vibration_tsa_rotmac/Data_CrestFactor % % Organization of the function: % 1. Compute signals/spectra/features % 2. Extract computed features into a table % % Modify the function to add or remove data processing, feature generation % or ranking operations.
Если вы хотите настроить выбор для создания кода, используйте команду Экспорт > Создать функцию для... вариант. С помощью этой опции можно:
Выберите генерацию кода для любых выходных данных, которые вычисляет приложение, включая вычисленные сигналы и спектры, статистику ансамбля и таблицы ранжирования.
Фильтрация выходных данных позволяет выбирать элементы с определенными характеристиками, например входной сигнал или текст с переменным именем.
Функцию для элементов можно создавать одновременно из одной таблицы элементов. При использовании обработки на основе кадров каждая таблица функций связана с одной политикой кадров или комбинацией размера кадра и частоты кадров. Поэтому, если требуется создать код для элементов, вычисленных с помощью двух различных политик кадров, или с помощью режима полного сигнала и режима на основе кадра, необходимо создать отдельную функцию для каждой таблицы элементов.
При создании кода для основанных на кадрах сигналов, которые зависят от полученных полных сигналов, вычисления для полных сигналов также появляются в сгенерированном коде.

При выборе "Экспорт" > "Создать функцию для... и выберите источник элементов, откроется окно, содержащее выходные данные выбора кандидатов. Каждая строка вывода включает дополнительную информацию о том, как был вычислен вывод.

На рисунке выбраны характеристики перекоса и среднеквадратичного значения, а также спектр мощности. На панели Подробно (Details) отображаются выходные данные и входные данные для последнего выбранного элемента. Панель «Код будет создан для» содержит выбранные параметры.
Вместе с окном выбора выберите Экспорт > Создать функцию для... открывает вкладку Создание кода, которая содержит параметры фильтрации.

Например, чтобы выбрать только те элементы, которые вычисляются непосредственно из сигнала TSA, выберите Input > Vibration_tsa/Data, как показано на рисунке.

Отфильтрованное окно выбора отображает три функции, которые основаны непосредственно на сигнале TSA, наряду со спектром мощности, который также основан непосредственно на сигнале TSA.

При указании конкретного входного сигнала фильтр ввода возвращает только те элементы, которые используют этот сигнал непосредственно. Например, список, отфильтрованный по входному сигналу TSA, не содержит признаков, полученных из спектра сигнала TSA. Если требуется отфильтровать текст, который встречается в любом месте цепочки вычислений, введите текст в фильтр. Например, при вводе tsa во входной фильтр, как показано на следующих рисунках, отфильтрованный список теперь включает спектральные характеристики TSA. Сопоставление текста не учитывает регистр.


Можно также фильтровать выходные данные, метод и тип анализа. Например, если требуется создать код для таблицы ранжирования, выберите Тип анализа > Ранжирование.

Список выбора включает таблицы ранжирования T-Test и Bhattacharyya.

Чтобы очистить все фильтры, щелкните Сбросить фильтры (Reset Filters).
![]()
В каждом отфильтрованном представлении отображается подмножество доступных выходных данных. Чтобы отобразить все выбранные элементы вместе, нажмите кнопку Сортировать по выделенным элементам.

Элементы, выбранные в отфильтрованных представлениях, отображаются в одной группе в верхней части списка выбора.

Чтобы создать код для этих элементов, щелкните Создать функцию.
Приложение назначает имя по умолчанию diagnosticFeatures к функции. Можно сохранить функцию как файл с таким именем или переименовать функцию и имя файла. Чтобы запустить функцию, следуйте синтаксису в строке функции кода. Например, предположим, что строка функции:
function [featureTable,outputTable] = diagnosticFeatures(inputData)fullDataTable и вам нужна только таблица элементов features. Использовать:features = diagnosticFeatures(fullDataTable)
Если первоначально импортированы отдельные таблицы с помощью команды Импортировать одноэлементные наборы данных (Import Single-Member Datasets) и требуется проверить код на соответствие исходным данным, необходимо объединить таблицы. Например, при импорте таблиц t1, t2, и t3, где каждая таблица представляет своего члена ансамбля, сначала объединяют таблицы в одну входную таблицу, а затем запускают сгенерированную функцию.
inputData = {t1,t2,t3};
features = diagnosticFeatures(inputData);Пример создания кода и проверки кода с использованием исходных данных см. в разделе Создание функции MATLAB в конструкторе диагностических функций. Пример применения кода к новому набору данных см. в разделе Применение сгенерированной функции MATLAB к расширенному набору данных. Описание самого сгенерированного кода и его вычисления см. в разделе Анатомия кода MATLAB, созданного приложением.
Генерируемый код частично зависит от выбора в Опции вычисления (Computation Options). На рисунке ниже показаны варианты опций вычислений при импорте хранилища данных ансамбля.

В некоторых случаях может потребоваться, чтобы созданный код использовал опцию, отличную от той, которая использовалась для вычисления функций в приложении. Например, может потребоваться вызвать параллельные вычисления в коде, если этот параметр не использовался изначально. При первоначальном импорте данных из хранилища данных ансамбля в локальную память может потребоваться, чтобы код взаимодействовал непосредственно с внешними файлами.
Зеленое поле на рисунке «Параметры вычислений» указывает параметры, которые можно изменить непосредственно перед созданием кода.
Сохранить все результаты в локальном наборе данных или Записать результаты в ту же папку, что и исходные данные - можно переключаться между параметрами для создания кода. Эти параметры появляются только при импорте хранилища данных ансамбля.
Использовать параллельные вычисления - этот параметр можно изменить для создания кода. Параллельные вычисления можно использовать только в том случае, если установлены Toolbox™ параллельных вычислений.
При создании кода невозможно изменить режим обработки данных и политику кадров, с помощью которых рассчитывались определенные функции.
Конструктор диагностических функций