Добавьте представители в маркированный набор сигналов
Загрузите маркированный набор сигналов, содержащий записи песен китов.
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)
Удалите первую и последнюю секунды извлеченного сигнала.
song2 = song(t>1 & t<t(end)-1); t2 = (0:length(song2)-1)/tinfo.SampleRate; plot(t2,song2)
Добавьте более короткий сигнал в качестве нового представителя маркированного набора.
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
lss
- Маркированный набор сигналовlabeledSignalSet
объектМаркированный набор сигналов, заданный как labeledSignalSet
объект.
Пример:
задает набор случайных сигналов с двумя членами, содержащий атрибут labeledSignalSet
({randn (100,1) randn (10,1)}, signalLabelDefinition ('female'))'female'
.
src
- Входной источник данныхsignalDatastore
| объекта audioDatastore
объектВходные данные, заданный как матрица, массив ячеек, timetable, a signalDatastore
объект, или audioDatastore
(Audio Toolbox) объект. Конкретная форма src
зависит от свойства Source lss
.
Если Source является массивом ячеек из матриц:
Задайте src
как матрица для добавления одного представителя к набору.
Задайте src
как массив ячеек матриц для добавления нескольких представителей к набору.
Если Source является массивом ячеек, содержащим массивы ячеек векторов:
Задайте src
как массив ячеек из векторов, для добавления одного представителя к набору.
Задайте src
как массив ячеек, содержащий массивы ячеек векторов, для добавления нескольких представителей к набору.
Если Source является массивом ячеек из timetables:
Задайте src
как расписание для добавления одного представителя к набору.
Задайте src
как массив ячеек из расписаний, чтобы добавить несколько представителей к набору.
Если Source является datastore, добавьте представителей путем установки src
как еще один datastore, который указывает на новые файлы.
Пример: {
задает два представителей. Первый представитель содержит три сигнала с 10 выборками. Второй представитель содержит девять 17-выборочных сигналов.randn
(10,3),randn
(17,9)}
Пример: {{
задает два представителей. Первый представитель содержит один сигнал 10 дискретизации. Второй представитель содержит сигнал 17 выборки и сигнал 27 выборки.randn
(10,1)},{randn
(17,1),randn
(27,1)}}
Пример: {{
задает два представителей. Первый представитель содержит три сигнала, дискретизированных с частотой дискретизации 1 Гц в течение 10 секунд, и два сигнала, дискретизированных с частотой дискретизации 1 Гц в течение 7 секунд. Второй представитель содержит один сигнал, дискретизированный с частотой дискретизации 1 Гц в течение 3 секунд.timetable
(seconds
(1:10)',randn
(10,3)),timetable
(seconds
(1:7)',randn
(7,2))},{timetable
(seconds
(1:3)',randn
(3,1))}}
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.
tinfo
- Информация о времени для новых представителейduration
скалярные | duration
векторИнформация о времени для новых представителей, заданная как скаляр, вектор, матрица, скаляр длительности или вектор длительности. Этот аргумент действителен, только если свойство 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)
mnames
- Имена представителейПредставитель имена, заданные как вектор символов, строковый скаляр, массив ячеек с векторами символов или строковыми массивами.
Пример: labeledSignalSet({randn(100,1) randn(10,1)},'MemberNames',{'llama' 'alpaca'})
задает набор случайных сигналов с двумя представителями, 'llama'
и 'alpaca'
.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.