addMembers

Добавьте представители в маркированный набор сигналов

Описание

пример

addMembers(lss,src) добавляет представителей в маркированный набор сигналов lss от источника входных данных src.

addMembers(lss,src,tinfo) устанавливает информацию о времени для новых представителей в tinfo.

addMembers(lss,src,tinfo,mnames) устанавливает имена новых представителей на mnames. Длина mnames должно быть равно количеству новых представителей.

Примеры

свернуть все

Загрузите маркированный набор сигналов, содержащий записи песен китов.

load whales
lss
lss = 
  labeledSignalSet with properties:

             Source: {2x1 cell}
         NumMembers: 2
    TimeInformation: "sampleRate"
         SampleRate: 4000
             Labels: [2x3 table]
        Description: "Characterize wave song regions"

 Use labelDefinitionsHierarchy to see a list of labels and sublabels.
 Use setLabelValue to add data to the set.

Найдите второй представитель набора и постройте график.

[song,tinfo] = getSignal(lss,2);

t = (0:length(song)-1)/tinfo.SampleRate;

plot(t,song)

Figure contains an axes. The axes contains an object of type line.

Удалите первую и последнюю секунды извлеченного сигнала.

song2 = song(t>1 & t<t(end)-1);
t2 = (0:length(song2)-1)/tinfo.SampleRate;

plot(t2,song2)

Figure contains an axes. The axes contains an object of type line.

Добавьте более короткий сигнал в качестве нового представителя маркированного набора.

addMembers(lss,song2)
lss
lss = 
  labeledSignalSet with properties:

             Source: {3x1 cell}
         NumMembers: 3
    TimeInformation: "sampleRate"
         SampleRate: 4000
             Labels: [3x3 table]
        Description: "Characterize wave song regions"

 Use labelDefinitionsHierarchy to see a list of labels and sublabels.
 Use setLabelValue to add data to the set.

Разверните более короткий сигнал вверх тормашками и добавьте его в качестве нового представителя маркированного набора. Укажите, что новый представитель взят с частотой дискретизации 1 кГц.

addMembers(lss,flipud(song2),1000)
lss.SampleRate
ans = 4×1

        4000
        4000
        4000
        1000

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

свернуть все

Маркированный набор сигналов, заданный как labeledSignalSet объект.

Пример: labeledSignalSet({randn (100,1) randn (10,1)}, signalLabelDefinition ('female')) задает набор случайных сигналов с двумя членами, содержащий атрибут 'female'.

Входные данные, заданный как матрица, массив ячеек, timetable, a signalDatastore (Signal Processing Toolbox) объект, или audioDatastore (Audio Toolbox) объект. Конкретная форма src зависит от свойства Source lss.

  • Если Source является массивом ячеек из матриц:

    • Задайте src как матрица для добавления одного представителя к набору.

    • Задайте src как массив ячеек матриц для добавления нескольких представителей к набору.

  • Если Source является массивом ячеек, содержащим массивы ячеек векторов:

    • Задайте src как массив ячеек из векторов, для добавления одного представителя к набору.

    • Задайте src как массив ячеек, содержащий массивы ячеек векторов, для добавления нескольких представителей к набору.

  • Если Source является массивом ячеек из timetables:

    • Задайте src как расписание для добавления одного представителя к набору.

    • Задайте src как массив ячеек из расписаний, чтобы добавить несколько представителей к набору.

  • Если Source является datastore, добавьте представителей путем установки src как еще один datastore, который указывает на новые файлы.

Пример: {randn(10,3),randn(17,9)} задает два представителей. Первый представитель содержит три сигнала с 10 выборками. Второй представитель содержит девять 17-выборочных сигналов.

Пример: {{randn(10,1)},{randn(17,1),randn(27,1)}} задает два представителей. Первый представитель содержит один сигнал 10 дискретизации. Второй представитель содержит сигнал 17 выборки и сигнал 27 выборки.

Пример: {{timetable(seconds(1:10)',randn(10,3)),timetable(seconds(1:7)',randn(7,2))},{timetable(seconds(1:3)',randn(3,1))}} задает два представителей. Первый представитель содержит три сигнала, дискретизированных с частотой дискретизации 1 Гц в течение 10 секунд, и два сигнала, дискретизированных с частотой дискретизации 1 Гц в течение 7 секунд. Второй представитель содержит один сигнал, дискретизированный с частотой дискретизации 1 Гц в течение 3 секунд.

Пример: signalDatastore Объект, указывающий на файлы

Укажите путь к набору выборочных звуковых сигналов, включенных в MAT-файлы с MATLAB ®. Каждый файл содержит переменную сигнала и частоту дискретизации. Перечислите имена файлов.

folder = fullfile(matlabroot,"toolbox","matlab","audiovideo");
lst = dir(append(folder,"/*.mat"));
nms = {lst(:).name}'
nms = 7x1 cell
    {'chirp.mat'   }
    {'gong.mat'    }
    {'handel.mat'  }
    {'laughter.mat'}
    {'mtlb.mat'    }
    {'splat.mat'   }
    {'train.mat'   }

Создайте сигнальный datastore, который указывает на указанную папку. Установите имя переменной частоты дискретизации равным Fs, что является общим для всех файлов. Сгенерируйте подмножество datastore, которое исключает файл mtlb.mat, который отличается от других файлов тем, что сигнальная переменная не вызывается y.

sds = signalDatastore(folder,"SampleRateVariableName","Fs");
sdss = subset(sds,~strcmp(nms,"mtlb.mat"));

Используйте datastore подмножества в качестве источника для labeledSignalSet объект.

lss = labeledSignalSet(sdss)
lss = 
  labeledSignalSet with properties:

             Source: [1x1 signalDatastore]
         NumMembers: 6
    TimeInformation: "inherent"
             Labels: [6x0 table]
        Description: ""

 Use labelDefinitionsHierarchy to see a list of labels and sublabels.
 Use setLabelValue to add data to the set.

Информация о времени для новых представителей, заданная как скаляр, вектор, матрица, скаляр длительности или вектор длительности. Этот аргумент действителен, только если свойство TimeInformation lss является 'sampleRate', 'sampleTime', или 'timeValues'.

  • Если TimeInformation 'sampleRate', затем tinfo задает значения частоты дискретизации.

  • Если TimeInformation 'sampleTime', затем tinfo задает значения шага расчета.

  • Если TimeInformation 'timeValues', затем tinfo задает значения времени.

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

Когда источник не был задан, или когда источник маркированного набора сигналов пуст, можно изменить свойство TimeInformation на 'sampleRate', 'sampleTime', или 'timeValues' чтобы сделать lss интерпретировать tinfo правильно.

Пример: addMembers (ks, {randn(10,5),randn(10,3)},seconds([1 2])) добавляет двух новых представителей с различными сведениями о времени в ks = labeledSignalSet(randn(10,3), 'SampleTime',seconds(1)).

Пример: addMembers(ks, {randn(10,5),randn(10,3)},[1:10;2:2:20]') добавляет двух новых представителей с различными сведениями о времени в ks = labeledSignalSet(randn(10,3), 'TimeValues', 1:10).

Представитель имена, заданные как вектор символов, строковый скаляр, массив ячеек с векторами символов или строковыми массивами.

Пример: labeledSignalSet({randn(100,1) randn(10,1)},'MemberNames',{'llama' 'alpaca'}) задает набор случайных сигналов с двумя представителями, 'llama' и 'alpaca'.

Введенный в R2018b
Для просмотра документации необходимо авторизоваться на сайте