featureMatrix

Рассеивание матрицы функции

Описание

smat = featureMatrix(sf,x) возвращает рассеивающуюся матрицу коэффициентов для сети sf рассеивания времени вейвлета и входные данные с действительным знаком xX вектор, матрица или трехмерный массив.

Точность smat зависит от точности, заданной в рассеивающейся сети sf.

[smat,u] = featureMatrix(sf,x) возвращает scalogram коэффициенты в массиве ячеек массивов ячеек, u. Число элементов в u равно порядку рассеивающейся сети. i th элемент u содержит scalogram коэффициенты для (i-1) th порядок рассеивающихся коэффициентов.

пример

smat = featureMatrix(___,Name,Value) возвращает рассеивающуюся матрицу функции с дополнительными опциями, заданными одним или несколькими Name,Value парные аргументы.

Примеры

свернуть все

В этом примере показано, как получить рассеивающуюся матрицу функции для сети рассеивания времени вейвлета и как сравнить матрицу с рассеивающимися коэффициентами.

Загрузите сигнал ECG, произведенный на уровне 180 Гц. Создайте сеть рассеивания времени вейвлета, которая может использоваться с сигналом.

load wecg
Fs = 180;
sf = waveletScattering('SignalLength',numel(wecg),...
    'SamplingFrequency',Fs);

Вычислите рассеивающуюся матрицу функции использование логарифмического преобразования. Отобразите размерности матрицы.

smat = featureMatrix(sf,wecg,'Transform','Log');
size(smat)
ans = 1×2

   147     8

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

S = scatteringTransform(sf,wecg);
t1rows = size(S{1},1);
t2rows = size(S{2},1);
t3rows = size(S{3},1);
disp(['Total Number of Rows: ',num2str(t1rows+t2rows+t3rows)])
Total Number of Rows: 147

Отобразите основу 2 логарифмических разрешения коэффициентов рассеивания нулевого порядка.

disp(['Resolution: ',num2str(S{1}.resolution(1))])
Resolution: -8

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

logS = log(sf,S);
logScat = logS{1}.signals{1};
[smat(1,:)' logScat]
ans = 8×2

   -1.2914   -1.2914
   -2.4682   -2.4682
   -1.6368   -1.6368
   -1.2716   -1.2716
   -1.6818   -1.6818
   -4.3701   -4.3701
   -1.3199   -1.3199
   -1.0542   -1.0542

Входные параметры

свернуть все

Сеть рассеивания времени вейвлета в виде waveletScattering объект.

Входные данные в виде вектора с действительным знаком, матрицы или трехмерного массива. Если x вектор, количество отсчетов в x должен равняться SignalLength значение sf. Если x матрица или трехмерный массив, количество строк в x должен равняться SignalLength значение sf. Если x 2D, первая размерность принята, чтобы быть время и столбцы x приняты, чтобы быть отдельными каналами. Если x 3-D, размерности x время каналом пакетом.

Типы данных: single | double

Аргументы name-value

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: smat = featureMatrix(sf,x,'Transform','log','Normalization','parent')

Тип нормализации, чтобы примениться к рассеивающимся коэффициентам в виде 'none' или 'parent'. Если задано как 'parent', рассеивание коэффициентов порядка, больше, чем 0, нормировано на их родительские элементы вдоль рассеивающегося пути.

Тип преобразования, чтобы примениться к рассеивающимся коэффициентам в виде 'none' или 'log'.

Выходные аргументы

свернуть все

Рассеивание коэффициентов, возвращенных как матрица с действительным знаком или массив. Если x вектор, smat Npath-by-Nscat матрица, где Npath является количеством рассеивающихся путей, и Nscat является количеством рассеивающихся коэффициентов в каждом пути или разрешением рассеивающихся коэффициентов. Если x матрица, smat Npath-by-Nscat-by-Nchan, где Nchan является количеством столбцов в x. Если x 3-D, затем smat Npath-by-Nscat-by-Nchan-by-Nbatch.

Точность smat зависит от точности, заданной в рассеивающейся сети sf.

Типы данных: single | double

Коэффициенты Scalogram, возвращенные в массиве ячеек массивов ячеек. Число элементов в u равно порядку рассеивающейся сети. i th элемент u содержит scalogram коэффициенты для (i-1) th порядок рассеивающихся коэффициентов.

Обратите внимание на то, что u{1}{1} содержит исходные данные.

Типы данных: single | double

Советы

  • scatteringTransform вызовы функции featureMatrix сгенерировать рассеивание и scalogram коэффициенты. Если вы только требуете самих коэффициентов для улучшенной производительности, рекомендуемый подход должен использовать featureMatrixИспользование scatteringTransform если вы также интересуетесь содействующими метаданными.

Вопросы совместимости

развернуть все

Не рекомендуемый запуск в R2021a

Расширенные возможности

Смотрите также

|

Введенный в R2018b